2007-11-06 Michael Natterer <mitch@imendio.com>
* gtk/gtkmenu.c (gtk_menu_popup): call gdk_flush() after showing
the menu so we can definitely grab on it. Grab failure found by
Xan Lopez.
svn path=/trunk/; revision=18969
+2007-11-06 Michael Natterer <mitch@imendio.com>
+
+ * gtk/gtkmenu.c (gtk_menu_popup): call gdk_flush() after showing
+ the menu so we can definitely grab on it. Grab failure found by
+ Xan Lopez.
+
2007-11-06 Michael Natterer <mitch@imendio.com>
* gtk/gtkwidget.c (gtk_widget_keynav_failed): fixed docs.
*/
gtk_widget_show (menu->toplevel);
+ /* flush the X event queue for the popup to become realized and
+ * mapped, since grabbing requires a mapped window. (this only works
+ * for popups, regular windows need gtk_widget_show_now() to sync
+ * with window manager interaction).
+ */
+ gdk_flush ();
+
if (xgrab_shell == widget)
popup_grab_on_window (widget->window, activate_time, grab_keyboard); /* Should always succeed */
gtk_grab_add (GTK_WIDGET (menu));