File gnome-power-manager-165471.patch of Package gnome-power-manager
--- gnome-power-manager-2.14.0-orig/src/gpm-tray-icon.c 2006-03-08 10:58:16.000000000 +0100
+++ gnome-power-manager-2.14.0/src/gpm-tray-icon.c 2006-04-17 14:57:21.000000000 +0200
@@ -530,7 +530,6 @@ gpm_tray_icon_show (GpmTrayIcon *icon,
icon->priv->is_visible = TRUE;
} else {
gtk_widget_hide_all (GTK_WIDGET (icon));
- gtk_widget_unrealize (GTK_WIDGET (icon));
icon->priv->is_visible = FALSE;
}
}
--- gnome-power-manager-2.14.0-orig/src/gpm-manager.c 2006-03-13 20:00:04.000000000 +0100
+++ gnome-power-manager-2.14.0/src/gpm-manager.c 2006-04-20 15:54:17.000000000 +0200
@@ -1788,6 +1788,14 @@ gpm_manager_tray_icon_show_info (GpmMana
}
static void
+tray_icon_destroyed (GtkObject *object, gpointer user_data)
+{
+ GpmManager *manager = user_data;
+
+ manager->priv->tray_icon = gpm_tray_icon_new ();
+}
+
+static void
gpm_manager_init (GpmManager *manager)
{
gboolean on_ac;
@@ -1843,6 +1851,8 @@ gpm_manager_init (GpmManager *manager)
gpm_debug ("creating new tray icon");
manager->priv->tray_icon = gpm_tray_icon_new ();
+ g_signal_connect (G_OBJECT (manager->priv->tray_icon), "destroy",
+ G_CALLBACK (tray_icon_destroyed), manager);
gpm_debug ("initialising info infrastructure");
manager->priv->info = gpm_info_new ();