X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkmnemonichash.c;h=845119f590d2ab4b8341f7016e56f2e1d2c88dee;hb=56bcb1933f6de613e5d8689e23420d47b65425c3;hp=c9f38408c8ac383c0e1bd91e2429e5267fe2d396;hpb=f3a74ace5f69840657813cd68f441ceadea671e8;p=~andy%2Fgtk diff --git a/gtk/gtkmnemonichash.c b/gtk/gtkmnemonichash.c index c9f38408c..845119f59 100644 --- a/gtk/gtkmnemonichash.c +++ b/gtk/gtkmnemonichash.c @@ -14,9 +14,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ #include "gtkmnemonichash.h" @@ -113,6 +111,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 +124,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) {