[maemo-commits] [maemo-commits] r14347 - in projects/haf/trunk/hildon-desktop: . libhildondesktop

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Oct 8 14:43:57 EEST 2007
Author: jobi
Date: 2007-10-08 14:43:55 +0300 (Mon, 08 Oct 2007)
New Revision: 14347

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c
Log:

2007-10-08  Johan Bilien  <johan.bilien at nokia.com>

	* libhildondesktop/hildon-desktop-panel-expandable.c:
	- (hildon_desktop_panel_expandable_constructor): keep the id
	of the fullscreen signal handler
	- (hildon_desktop_panel_expandable_finalize): disconnect the
	fullscreen signal handler.
	Fixes: NB#72260



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-10-08 09:21:30 UTC (rev 14346)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-10-08 11:43:55 UTC (rev 14347)
@@ -1,3 +1,12 @@
+2007-10-08  Johan Bilien  <johan.bilien at nokia.com>
+
+	* libhildondesktop/hildon-desktop-panel-expandable.c:
+	- (hildon_desktop_panel_expandable_constructor): keep the id
+	of the fullscreen signal handler
+	- (hildon_desktop_panel_expandable_finalize): disconnect the
+	fullscreen signal handler.
+	Fixes: NB#72260
+
 2007-10-05  Lucas Rocha  <lucas.rocha at nokia.com>
 
 	* configure.ac: 0.0.41

Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c	2007-10-08 09:21:30 UTC (rev 14346)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c	2007-10-08 11:43:55 UTC (rev 14347)
@@ -96,6 +96,8 @@
   gboolean    filter_added;
   guint	      n_systray_applets;
 #endif
+
+  guint       fullscreen_handler;
 };
 
 enum
@@ -428,10 +430,11 @@
 
   HDWM *hdwm = hd_wm_get_singleton ();
 
-  g_signal_connect (hdwm, 
-		    "fullscreen",
-		    G_CALLBACK (hildon_desktop_panel_close_fullscreen),
-		    (gpointer)panel);
+  panel->priv->fullscreen_handler =
+      g_signal_connect (hdwm,
+                        "fullscreen",
+                        G_CALLBACK (hildon_desktop_panel_close_fullscreen),
+                        (gpointer)panel);
   
   return object;
 }
@@ -452,6 +455,17 @@
     gdk_window_remove_filter (panel->priv->invisible->window,
 		  	      hildon_desktop_x_event_filter,
 			      panel);
+
+  if (panel->priv->fullscreen_handler)
+  {
+    HDWM *wm = hd_wm_get_singleton ();
+
+    g_signal_handler_disconnect (wm,
+                                 panel->priv->fullscreen_handler);
+
+    panel->priv->fullscreen_handler = 0;
+  }
+
 #endif
   G_OBJECT_CLASS (hildon_desktop_panel_expandable_parent_class)->finalize (object);
 }


More information about the maemo-commits mailing list