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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Oct 1 14:18:34 EEST 2007
Author: jobi
Date: 2007-10-01 14:18:31 +0300 (Mon, 01 Oct 2007)
New Revision: 14223

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

2007-09-28 Johan Bilien  <johan.bilien at nokia.com>

	* libhildondesktop/hildon-desktop-panel-expandable.c
	(hildon_desktop_panel_expandable_hide_extension): do not hide the
	extension if already hidden. In particular don't release grabs
	which we didn't take. Fixes: NB#71191



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-10-01 11:07:53 UTC (rev 14222)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-10-01 11:18:31 UTC (rev 14223)
@@ -1,5 +1,12 @@
 2007-09-28 Johan Bilien  <johan.bilien at nokia.com>
 
+	* libhildondesktop/hildon-desktop-panel-expandable.c
+	(hildon_desktop_panel_expandable_hide_extension): do not hide the
+	extension if already hidden. In particular don't release grabs
+	which we didn't take. Fixes: NB#71191
+
+2007-09-28 Johan Bilien  <johan.bilien at nokia.com>
+
 	* configure.ac: 0.0.38
 
 2007-09-28 Johan Bilien  <johan.bilien at nokia.com>

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-01 11:07:53 UTC (rev 14222)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c	2007-10-01 11:18:31 UTC (rev 14223)
@@ -237,20 +237,23 @@
 static void 
 hildon_desktop_panel_expandable_hide_extension (HildonDesktopPanelExpandable *panel)
 {
-  gdk_pointer_ungrab (GDK_CURRENT_TIME);
-  gdk_keyboard_ungrab (GDK_CURRENT_TIME);
+  if (panel->priv->extension_opened)
+  {
+    gdk_pointer_ungrab (GDK_CURRENT_TIME);
+    gdk_keyboard_ungrab (GDK_CURRENT_TIME);
 
-  if (!HILDON_DESKTOP_IS_PANEL_EXPANDABLE (panel))
-    return;
-	  
-  if (panel->priv->arrow && GTK_IS_WIDGET (panel->priv->arrow))
-    g_object_set (panel->priv->arrow, "active", FALSE, NULL);
+    if (!HILDON_DESKTOP_IS_PANEL_EXPANDABLE (panel))
+      return;
 
-  gtk_grab_remove (GTK_WIDGET (panel->priv->extension_window));
+    if (panel->priv->arrow && GTK_IS_WIDGET (panel->priv->arrow))
+      g_object_set (panel->priv->arrow, "active", FALSE, NULL);
 
-  gtk_widget_hide (GTK_WIDGET (panel->priv->extension_window));
+    gtk_grab_remove (GTK_WIDGET (panel->priv->extension_window));
 
-  panel->priv->extension_opened = FALSE;
+    gtk_widget_hide (GTK_WIDGET (panel->priv->extension_window));
+
+    panel->priv->extension_opened = FALSE;
+  }
 }
 
 static gboolean 


More information about the maemo-commits mailing list