Lines 39-44
Link Here
|
39 |
static EggTrayIcon *pTrayIcon; |
39 |
static EggTrayIcon *pTrayIcon; |
40 |
static GtkWidget *pExitMenuItem = NULL; |
40 |
static GtkWidget *pExitMenuItem = NULL; |
41 |
static GtkWidget *pOpenMenuItem = NULL; |
41 |
static GtkWidget *pOpenMenuItem = NULL; |
|
|
42 |
static GtkWidget *pDisableMenuItem = NULL; |
42 |
|
43 |
|
43 |
static void open_url_cb( GtkWidget *, gpointer data ) |
44 |
static void open_url_cb( GtkWidget *, gpointer data ) |
44 |
{ |
45 |
{ |
Lines 67-74
Link Here
|
67 |
static void exit_quickstarter_cb( GtkWidget * ) |
68 |
static void exit_quickstarter_cb( GtkWidget * ) |
68 |
{ |
69 |
{ |
69 |
egg_tray_icon_cancel_message (pTrayIcon, 1 ); |
70 |
egg_tray_icon_cancel_message (pTrayIcon, 1 ); |
70 |
ShutdownIcon::getInstance()->terminateDesktop(); |
|
|
71 |
plugin_shutdown_sys_tray(); |
71 |
plugin_shutdown_sys_tray(); |
|
|
72 |
//terminate may cause this .so to be unloaded. So we must be hands off |
73 |
//all calls into this .so after this call |
74 |
ShutdownIcon::terminateDesktop(); |
72 |
} |
75 |
} |
73 |
|
76 |
|
74 |
static void menu_deactivate_cb( GtkWidget *pMenu ) |
77 |
static void menu_deactivate_cb( GtkWidget *pMenu ) |
Lines 265-271
Link Here
|
265 |
pMenuItem = gtk_separator_menu_item_new(); |
268 |
pMenuItem = gtk_separator_menu_item_new(); |
266 |
gtk_menu_shell_append( pMenuShell, pMenuItem ); |
269 |
gtk_menu_shell_append( pMenuShell, pMenuItem ); |
267 |
|
270 |
|
268 |
(void) add_image_menu_item |
271 |
pDisableMenuItem = add_image_menu_item |
269 |
( pMenuShell, GTK_STOCK_CLOSE, |
272 |
( pMenuShell, GTK_STOCK_CLOSE, |
270 |
pShutdownIcon->GetResString( STR_QUICKSTART_PRELAUNCH_UNX ), |
273 |
pShutdownIcon->GetResString( STR_QUICKSTART_PRELAUNCH_UNX ), |
271 |
G_CALLBACK( systray_disable_cb ) ); |
274 |
G_CALLBACK( systray_disable_cb ) ); |
Lines 289-294
Link Here
|
289 |
bool bModal = ShutdownIcon::bModalMode; |
292 |
bool bModal = ShutdownIcon::bModalMode; |
290 |
gtk_widget_set_sensitive( pExitMenuItem, !bModal); |
293 |
gtk_widget_set_sensitive( pExitMenuItem, !bModal); |
291 |
gtk_widget_set_sensitive( pOpenMenuItem, !bModal); |
294 |
gtk_widget_set_sensitive( pOpenMenuItem, !bModal); |
|
|
295 |
gtk_widget_set_sensitive( pDisableMenuItem, !bModal); |
292 |
} |
296 |
} |
293 |
|
297 |
|
294 |
extern "C" { |
298 |
extern "C" { |
Lines 404-409
Link Here
|
404 |
pTrayIcon = NULL; |
409 |
pTrayIcon = NULL; |
405 |
pExitMenuItem = NULL; |
410 |
pExitMenuItem = NULL; |
406 |
pOpenMenuItem = NULL; |
411 |
pOpenMenuItem = NULL; |
|
|
412 |
pDisableMenuItem = NULL; |
407 |
} |
413 |
} |
408 |
|
414 |
|
409 |
#endif // ENABLE_QUICKSTART_APPLET |
415 |
#endif // ENABLE_QUICKSTART_APPLET |