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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Jun 26 15:00:08 EEST 2007
Author: xan
Date: 2007-06-26 15:00:01 +0300 (Tue, 26 Jun 2007)
New Revision: 12471

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtkcombobox.c
   projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c
   projects/haf/trunk/gtk+/gtk/gtkmenu.c
Log:
2007-06-26  Xan Lopez  <xan at nokia.com>

	* gtk/gtkcombobox.c: (gtk_combo_box_set_popup_widget):
	* gtk/gtkentrycompletion.c: (gtk_entry_completion_init):

	Mark popup windows as temporary.
	
	* gtk/gtkmenu.c: (gtk_menu_window_event):

	Manually listen for _GTK_DELETE_TEMPORARIES message.


Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2007-06-26 11:57:54 UTC (rev 12470)
+++ projects/haf/trunk/gtk+/ChangeLog	2007-06-26 12:00:01 UTC (rev 12471)
@@ -1,5 +1,16 @@
 2007-06-26  Xan Lopez  <xan at nokia.com>
 
+	* gtk/gtkcombobox.c: (gtk_combo_box_set_popup_widget):
+	* gtk/gtkentrycompletion.c: (gtk_entry_completion_init):
+
+	Mark popup windows as temporary.
+	
+	* gtk/gtkmenu.c: (gtk_menu_window_event):
+
+	Manually listen for _GTK_DELETE_TEMPORARIES message.
+
+2007-06-26  Xan Lopez  <xan at nokia.com>
+
 	* gtk/gtkwindow.c: (gtk_window_class_init),
 	(gtk_window_set_property), (gtk_window_get_property),
 	(gtk_window_set_temporary), (gtk_window_is_temporary),

Modified: projects/haf/trunk/gtk+/gtk/gtkcombobox.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkcombobox.c	2007-06-26 11:57:54 UTC (rev 12470)
+++ projects/haf/trunk/gtk+/gtk/gtkcombobox.c	2007-06-26 12:00:01 UTC (rev 12471)
@@ -1336,6 +1336,9 @@
 	  g_signal_connect (GTK_WINDOW(combo_box->priv->popup_window),"delete_event",
 			    G_CALLBACK (gtk_combo_box_child_delete_event),
 			    combo_box);
+#ifdef MAEMO_CHANGES
+	  gtk_window_set_temporary (GTK_WINDOW (combo_box->priv->popup_window), TRUE);
+#endif /* MAEMO_CHANGES */
   	  
 	  toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box));
 	  if (GTK_IS_WINDOW (toplevel))

Modified: projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c	2007-06-26 11:57:54 UTC (rev 12470)
+++ projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c	2007-06-26 12:00:01 UTC (rev 12471)
@@ -450,6 +450,9 @@
   g_signal_connect (priv->popup_window, "delete-event",
 		    G_CALLBACK (gtk_entry_completion_popup_delete_event),
 		    completion);
+#ifdef MAEMO_CHANGES
+  gtk_window_set_temporary (GTK_WINDOW (priv->popup_window), TRUE);
+#endif /* MAEMO_CHANGES */
 
   popup_frame = gtk_frame_new (NULL);
   gtk_frame_set_shadow_type (GTK_FRAME (popup_frame),

Modified: projects/haf/trunk/gtk+/gtk/gtkmenu.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkmenu.c	2007-06-26 11:57:54 UTC (rev 12470)
+++ projects/haf/trunk/gtk+/gtk/gtkmenu.c	2007-06-26 12:00:01 UTC (rev 12471)
@@ -844,6 +844,21 @@
     case GDK_KEY_RELEASE:
       handled = gtk_widget_event (menu, event);
       break;
+#ifdef MAEMO_CHANGES
+    case GDK_CLIENT_EVENT:
+      /* Close down the whole hierarchy, but not if we're torn off. Don't call
+       * cancel if the menu isn't visible to avoid extra selection-done
+       * signals.
+       */
+      if (event->client.message_type == gdk_atom_intern_static_string ("_GTK_DELETE_TEMPORARIES") &&
+	  window == GTK_MENU (menu)->toplevel &&
+	  GTK_WIDGET_MAPPED (GTK_MENU (menu)->toplevel))
+	{
+	  gtk_menu_shell_cancel (GTK_MENU_SHELL (menu));
+	  handled = TRUE;
+	}
+      break;
+#endif /* MAEMO_CHANGES */
     default:
       break;
     }


More information about the maemo-commits mailing list