]> Pileus Git - ~andy/gtk/commitdiff
Bug 132502
authorSoeren Sandmann <sandmann@daimi.au.dk>
Sat, 21 Feb 2004 18:20:59 +0000 (18:20 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Sat, 21 Feb 2004 18:20:59 +0000 (18:20 +0000)
Sat Feb 21 19:18:26 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

Bug 132502

* gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
if we enter a non-selectable menu item.

* gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
when the user has left the item.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmenu.c

index d5c84e432ba58f03e5ea3c1acb75d83db9a209a9..318b4ec336ecdae2d2354765870d16bbec19ee22 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Sat Feb 21 19:18:26 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       Bug 132502
+       
+       * gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
+       if we enter a non-selectable menu item.
+
+       * gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
+       when the user has left the item.
+
 Sat Feb 21 17:57:35 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/docs: Commit auto-generated changes
index d5c84e432ba58f03e5ea3c1acb75d83db9a209a9..318b4ec336ecdae2d2354765870d16bbec19ee22 100644 (file)
@@ -1,3 +1,13 @@
+Sat Feb 21 19:18:26 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       Bug 132502
+       
+       * gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
+       if we enter a non-selectable menu item.
+
+       * gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
+       when the user has left the item.
+
 Sat Feb 21 17:57:35 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/docs: Commit auto-generated changes
index d5c84e432ba58f03e5ea3c1acb75d83db9a209a9..318b4ec336ecdae2d2354765870d16bbec19ee22 100644 (file)
@@ -1,3 +1,13 @@
+Sat Feb 21 19:18:26 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       Bug 132502
+       
+       * gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
+       if we enter a non-selectable menu item.
+
+       * gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
+       when the user has left the item.
+
 Sat Feb 21 17:57:35 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/docs: Commit auto-generated changes
index d5c84e432ba58f03e5ea3c1acb75d83db9a209a9..318b4ec336ecdae2d2354765870d16bbec19ee22 100644 (file)
@@ -1,3 +1,13 @@
+Sat Feb 21 19:18:26 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       Bug 132502
+       
+       * gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
+       if we enter a non-selectable menu item.
+
+       * gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
+       when the user has left the item.
+
 Sat Feb 21 17:57:35 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/docs: Commit auto-generated changes
index d5c84e432ba58f03e5ea3c1acb75d83db9a209a9..318b4ec336ecdae2d2354765870d16bbec19ee22 100644 (file)
@@ -1,3 +1,13 @@
+Sat Feb 21 19:18:26 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
+
+       Bug 132502
+       
+       * gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
+       if we enter a non-selectable menu item.
+
+       * gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
+       when the user has left the item.
+
 Sat Feb 21 17:57:35 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/docs: Commit auto-generated changes
index 6bc690b025a61588bc134234f5fdeae4ab6d76af..c7b7d04df31bb275a65fd53056cf4e79afec22af 100644 (file)
@@ -2609,7 +2609,6 @@ gtk_menu_motion_notify  (GtkWidget           *widget,
    */
   menu_item = gtk_get_event_widget ((GdkEvent*) event);
   if (!menu_item || !GTK_IS_MENU_ITEM (menu_item) ||
-      !_gtk_menu_item_is_selectable (menu_item) ||
       !GTK_IS_MENU (menu_item->parent))
     return FALSE;
 
@@ -2623,6 +2622,15 @@ gtk_menu_motion_notify  (GtkWidget          *widget,
   if (gtk_menu_navigating_submenu (menu, event->x_root, event->y_root))
     return TRUE; 
 
+  /* Make sure we pop down if we enter a non-selectable menu item, so we
+   * don't show a submenu when the cursor is outside the stay-up triangle.
+   */
+  if (!_gtk_menu_item_is_selectable (menu_item))
+    {
+      gtk_menu_shell_deselect (menu_shell);
+      return FALSE;
+    }
+
   if (need_enter)
     {
       /* The menu is now sensitive to enter events on its items, but
@@ -2872,6 +2880,15 @@ gtk_menu_leave_notify (GtkWidget        *widget,
          gtk_menu_set_submenu_navigation_region (menu, menu_item, event);
          return TRUE;
        }
+      else if (menu_item == menu_shell->active_menu_item)
+       {
+         /* We are leaving an active menu item with nonactive submenu.
+          * Deselect it so we don't surprise the user with by popping
+          * up a submenu _after_ he left the item.
+          */
+         gtk_menu_shell_deselect (menu_shell);
+         return TRUE;
+       }
     }
   
   return GTK_WIDGET_CLASS (parent_class)->leave_notify_event (widget, event);