summaryrefslogtreecommitdiff
path: root/gtk/gtkaccelgroup.c
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1999-01-11 12:22:52 +0000
committerTim Janik <timj@src.gnome.org>1999-01-11 12:22:52 +0000
commite3ee9e9d7dab56082480e2c77191d00f2e559670 (patch)
treef4ae947e100784a18c580caca44da31e9a1382da /gtk/gtkaccelgroup.c
parentf3af00f4501d4f019146b1be468fb81723f6da1a (diff)
downloadgtk+-e3ee9e9d7dab56082480e2c77191d00f2e559670.tar.gz
only pass key events to the focus widget if it is sensitive.
Mon Jan 11 13:18:37 1999 Tim Janik <timj@gtk.org> * gtk/gtkwindow.c: (gtk_window_key_release_event): (gtk_window_key_press_event): only pass key events to the focus widget if it is sensitive. * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): don't popup the submenu if it isn't sensitive. (gtk_menu_item_paint): state_type doesn't need to be reset to GTK_STATE_INSENSITIVE if the widget is insensitive anyways. * gtk/gtkcontainer.c (gtk_container_real_focus): * gtk/gtklist.c (gtk_list_focus): * gtk/gtkmenushell.c (gtk_menu_shell_move_selected): * gtk/gtknotebook.c (gtk_notebook_focus): s/GTK_WIDGET_SENSITIVE/GTK_WIDGET_IS_SENSITIVE/ since a widgets sensitivity is determined through the parent as well, GTK_WIDGET_SENSITIVE is only of interest inside gtkwidget.c, everywhere else GTK_WIDGET_IS_SENSITIVE (widget) needs to be used to check for sensitivity. * gtk/gtkaccelgroup.c (gtk_accel_group_activate): don't activate object if it is an insensitive widget.
Diffstat (limited to 'gtk/gtkaccelgroup.c')
-rw-r--r--gtk/gtkaccelgroup.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c
index f5570dd4f7..0d1c6773e7 100644
--- a/gtk/gtkaccelgroup.c
+++ b/gtk/gtkaccelgroup.c
@@ -254,7 +254,8 @@ gtk_accel_group_activate (GtkAccelGroup *accel_group,
g_return_val_if_fail (accel_group != NULL, FALSE);
entry = gtk_accel_group_lookup (accel_group, accel_key, accel_mods);
- if (entry && entry->signal_id)
+ if (entry && entry->signal_id &&
+ (!GTK_IS_WIDGET (entry->object) || GTK_WIDGET_IS_SENSITIVE (entry->object)))
{
gtk_signal_emit (entry->object, entry->signal_id);
return TRUE;