[maemo-commits] [maemo-commits] r19480 - in projects/haf/trunk/gtk+: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Oct 26 13:30:21 EET 2009
Author: kalikiana
Date: 2009-10-26 13:30:19 +0200 (Mon, 26 Oct 2009)
New Revision: 19480

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtkbutton.c
Log:
Reset the pressed state of the button if it is pressed while the screen changes.

Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2009-10-26 09:19:46 UTC (rev 19479)
+++ projects/haf/trunk/gtk+/ChangeLog	2009-10-26 11:30:19 UTC (rev 19480)
@@ -1,3 +1,11 @@
+2009-10-26  Christian Dywan  <christian at lanedo.com>
+
+	Fixes: NB#143183 - [Select contact] button appears to be in pressed
+	state, in certain scenario
+
+	* gtk/gtkbutton.c (gtk_button_screen_changed): Reset the pressed state
+	of the button if it is pressed while the screen changes.
+
 2009-10-23  Christian Dywan  <christian at lanedo.com>
 
 	Fixes: NB#128673 - Virtual keypad opened when not

Modified: projects/haf/trunk/gtk+/gtk/gtkbutton.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkbutton.c	2009-10-26 09:19:46 UTC (rev 19479)
+++ projects/haf/trunk/gtk+/gtk/gtkbutton.c	2009-10-26 11:30:19 UTC (rev 19480)
@@ -1963,12 +1963,27 @@
 gtk_button_screen_changed (GtkWidget *widget,
 			   GdkScreen *previous_screen)
 {
+#ifdef MAEMO_CHANGES
+  GtkButton *button;
+#endif
   GtkSettings *settings;
   guint show_image_connection;
 
   if (!gtk_widget_has_screen (widget))
     return;
 
+#ifdef MAEMO_CHANGES
+  button = GTK_BUTTON (widget);
+
+  /* If the button is being pressed while the screen changes the
+    release might never occur, so we reset the state. */
+  if (button->button_down)
+    {
+      button->button_down = FALSE;
+      gtk_button_update_state (button);
+    }
+#endif
+
   settings = gtk_widget_get_settings (widget);
 
   show_image_connection = 
@@ -1985,7 +2000,11 @@
 		     I_("gtk-button-connection"),
 		     GUINT_TO_POINTER (show_image_connection));
 
+#ifdef MAEMO_CHANGES
+  show_image_change_notify (button);
+#else
   show_image_change_notify (GTK_BUTTON (widget));
+#endif
 }
 
 static void

More information about the maemo-commits mailing list