X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkprivate.c;h=70151f9bfe97733efe42def11c23326bb75cbefa;hb=ca2368dba958d6fecf2fce417307bb9cbbe6eb6b;hp=1ec08147fb00d38c8ee843be7490029f5838b5bc;hpb=1c8481a6ea52f34210177f54159d231ea4ba0b7d;p=~andy%2Fgtk diff --git a/gtk/gtkprivate.c b/gtk/gtkprivate.c index 1ec08147f..70151f9bf 100644 --- a/gtk/gtkprivate.c +++ b/gtk/gtkprivate.c @@ -12,9 +12,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 . */ /* @@ -27,6 +25,7 @@ #include "config.h" #include +#include #include "gdk/gdk.h" @@ -216,15 +215,18 @@ _gtk_translate_keyboard_accel_state (GdkKeymap *keymap, gint *level, GdkModifierType *consumed_modifiers) { + GdkModifierType shift_group_mask; gboolean group_mask_disabled = FALSE; gboolean retval; /* if the group-toggling modifier is part of the accel mod mask, and * it is active, disable it for matching */ - if (accel_mask & state & GTK_TOGGLE_GROUP_MOD_MASK) + shift_group_mask = gdk_keymap_get_modifier_mask (keymap, + GDK_MODIFIER_INTENT_SHIFT_GROUP); + if (accel_mask & state & shift_group_mask) { - state &= ~GTK_TOGGLE_GROUP_MOD_MASK; + state &= ~shift_group_mask; group = 0; group_mask_disabled = TRUE; } @@ -244,7 +246,7 @@ _gtk_translate_keyboard_accel_state (GdkKeymap *keymap, *effective_group = 1; if (consumed_modifiers) - *consumed_modifiers &= ~GTK_TOGGLE_GROUP_MOD_MASK; + *consumed_modifiers &= ~shift_group_mask; } return retval;