]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkmnemonichash.c
a11y: Re-implement gtk_tree_view_accessible_get_n_rows()
[~andy/gtk] / gtk / gtkmnemonichash.c
index c9f38408c8ac383c0e1bd91e2429e5267fe2d396..37ee01644ab41d83781d6ededa9a6a18dfc9eccb 100644 (file)
@@ -113,6 +113,7 @@ _gtk_mnemonic_hash_activate (GtkMnemonicHash *mnemonic_hash,
 {
   GSList *list, *targets;
   GtkWidget *widget, *chosen_widget;
+  GdkWindow *window;
   gboolean overloaded;
 
   targets = g_hash_table_lookup (mnemonic_hash->hash,
@@ -125,9 +126,11 @@ _gtk_mnemonic_hash_activate (GtkMnemonicHash *mnemonic_hash,
   for (list = targets; list; list = list->next)
     {
       widget = GTK_WIDGET (list->data);
-      
-      if (GTK_WIDGET_IS_SENSITIVE (widget) &&
-         GTK_WIDGET_MAPPED (widget))
+      window = gtk_widget_get_window (widget);
+
+      if (gtk_widget_is_sensitive (widget) &&
+         gtk_widget_get_mapped (widget) &&
+          window && gdk_window_is_viewable (window))
        {
          if (chosen_widget)
            {