]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkmenushell.c
GtkTextView: don't popdown a bubble if we don't have one
[~andy/gtk] / gtk / gtkmenushell.c
index 50991792852d96ee0d3168786d1b7519b795e90c..ae36459d43f981feae370333b014a5f46b5df0f8 100644 (file)
@@ -649,7 +649,7 @@ gtk_menu_shell_realize (GtkWidget *widget)
   window = gdk_window_new (gtk_widget_get_parent_window (widget),
                            &attributes, attributes_mask);
   gtk_widget_set_window (widget, window);
-  gdk_window_set_user_data (window, widget);
+  gtk_widget_register_window (widget, window);
 
   context = gtk_widget_get_style_context (widget);
   gtk_style_context_set_background (context, window);
@@ -1107,7 +1107,7 @@ gtk_menu_shell_leave_notify (GtkWidget        *widget,
                              GdkEventCrossing *event)
 {
   if (event->mode == GDK_CROSSING_GTK_GRAB ||
-      event->mode == GDK_CROSSING_GTK_GRAB ||
+      event->mode == GDK_CROSSING_GTK_UNGRAB ||
       event->mode == GDK_CROSSING_STATE_CHANGED)
     return TRUE;
 
@@ -1723,12 +1723,10 @@ static void
 gtk_real_menu_shell_cycle_focus (GtkMenuShell     *menu_shell,
                                  GtkDirectionType  dir)
 {
-  GtkMenuShellPrivate *priv = menu_shell->priv;
-
   while (menu_shell && !GTK_IS_MENU_BAR (menu_shell))
     {
-      if (priv->parent_menu_shell)
-        menu_shell = GTK_MENU_SHELL (priv->parent_menu_shell);
+      if (menu_shell->priv->parent_menu_shell)
+        menu_shell = GTK_MENU_SHELL (menu_shell->priv->parent_menu_shell);
       else
         menu_shell = NULL;
     }