gtk+ r20754 - in trunk: . gtk
- From: matthiasc svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r20754 - in trunk: . gtk
- Date: Thu, 3 Jul 2008 23:33:08 +0000 (UTC)
Author: matthiasc
Date: Thu Jul 3 23:33:08 2008
New Revision: 20754
URL: http://svn.gnome.org/viewvc/gtk+?rev=20754&view=rev
Log:
* gtk/gtkmenuitem.c: Fall back to the default positioning when
the menuitem is not realized. Patch by BjÃrn Lindqvist.
Modified:
trunk/ChangeLog
trunk/gtk/gtkmenuitem.c
Modified: trunk/gtk/gtkmenuitem.c
==============================================================================
--- trunk/gtk/gtkmenuitem.c (original)
+++ trunk/gtk/gtkmenuitem.c Thu Jul 3 23:33:08 2008
@@ -1141,6 +1141,7 @@
if (GTK_WIDGET_IS_SENSITIVE (menu_item->submenu))
{
gboolean take_focus;
+ GtkMenuPositionFunc menu_position_func;
take_focus = gtk_menu_shell_get_take_focus (GTK_MENU_SHELL (widget->parent));
gtk_menu_shell_set_take_focus (GTK_MENU_SHELL (menu_item->submenu),
@@ -1162,10 +1163,21 @@
"gtk-menu-exact-popup-time", NULL);
}
+ /* gtk_menu_item_position_menu positions the submenu from the
+ * menuitems position. If the menuitem doesn't have a window,
+ * that doesn't work. In that case we use the default
+ * positioning function instead which places the submenu at the
+ * mouse cursor.
+ */
+ if (widget->window)
+ menu_position_func = gtk_menu_item_position_menu;
+ else
+ menu_position_func = NULL;
+
gtk_menu_popup (GTK_MENU (menu_item->submenu),
widget->parent,
widget,
- gtk_menu_item_position_menu,
+ menu_position_func,
menu_item,
GTK_MENU_SHELL (widget->parent)->button,
0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]