--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix8 2008-01-18 10:05:09.000000000 -0800 +++ ./esc/src/app/xpcom/rhCoolKey.cpp 2008-01-18 10:05:47.000000000 -0800 @@ -817,7 +817,7 @@ NS_IMETHODIMP rhCoolKey::ResetCoolKeyPIN(PRUint32 aKeyType, const char *aKeyID, const char *aScreenName, const char *aPIN, const char *aScreenNamePwd) { char tBuff[56]; - ::CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Attempting to Reset Key PIN, ID: %s \n",GetTStamp(tBuff,56),aKeyID); + ::CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Attempting to Reset Key Password, ID: %s \n",GetTStamp(tBuff,56),aKeyID); CoolKeyNode *node = GetCoolKeyInfo(aKeyType, aKeyID); if (!node) --- ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix8 2008-01-18 10:06:00.000000000 -0800 +++ ./esc/src/app/xpcom/tray/rhLinuxTray.cpp 2008-01-18 10:06:09.000000000 -0800 @@ -49,9 +49,15 @@ char tBuff[56]; GtkWidget *icon_box_widget = GTK_WIDGET(user_data); + if(icon_box_widget) { + GdkScreen* gscreen = gdk_screen_get_default(); GdkWindow* window = icon_box_widget->window; + + if(!window) + return; + gint width; gint height; @@ -59,20 +65,37 @@ gint px; gint py; + gint screen_width = 0; + gint screen_height = 0; + + if(gscreen) + { + screen_width = gdk_screen_get_width(gscreen); + screen_height = gdk_screen_get_height(gscreen); + } + gdk_drawable_get_size(window,&width,&height); - gdk_window_get_position(window, + gdk_window_get_origin(window, &px, &py); - PR_LOG( trayLog, PR_LOG_DEBUG, ("%s popup_position width %d height %d px %d py %d \n",GetTStamp(tBuff,56),width,height,px,py)); + PR_LOG( trayLog, PR_LOG_DEBUG, ("%s popup_position width %d height %d px %d py %d *x %d *y %d screen_w %d screen_h %d \n",GetTStamp(tBuff,56),width,height,px,py,*x,*y,screen_width, screen_height)); + + // Are we close to the bottom of the screen? + if( screen_width > 0 && screen_height > 0 + && ( screen_height - py) < (height * 3)) + { + height = height* -2 ; + } gint x_coord = px; gint y_coord = (py + height); *x = x_coord; *y = y_coord; + *push_in = TRUE; } --- ./esc/src/app/xul/esc/application.ini.fix8 2008-01-18 10:04:33.000000000 -0800 +++ ./esc/src/app/xul/esc/application.ini 2008-01-18 10:04:43.000000000 -0800 @@ -25,11 +25,11 @@ Name=ESC ; ; This field specifies your application's version. This field is optional. -Version=1.0.1-7 +Version=1.0.1-8 ; ; This field specifies your application's build ID (timestamp). This field is ; required. -BuildID=0000001011 +BuildID=0000001012 ; ; This ID is just an example. Every XUL app ought to have it's own unique ID. ; You can use the microsoft "guidgen" or "uuidgen" tools, or go on