]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkprivate.c
GtkTextView: don't popdown a bubble if we don't have one
[~andy/gtk] / gtk / gtkprivate.c
index 1ec08147fb00d38c8ee843be7490029f5838b5bc..70151f9bfe97733efe42def11c23326bb75cbefa 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
  */
 
 /*
@@ -27,6 +25,7 @@
 #include "config.h"
 
 #include <locale.h>
+#include <stdlib.h>
 
 #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;