Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/bockbuild.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hutchinson <m.j.hutchinson@gmail.com>2012-01-27 03:33:16 +0400
committerMichael Hutchinson <m.j.hutchinson@gmail.com>2012-01-27 03:33:16 +0400
commitc3e89043419237e704ac91ea34057c6b7ba28f48 (patch)
tree649bb35999d1bf6be9ebf64cf80565b3d41b605b
parent81b9db47705f1376c225ed19cca2e9b5bfabf395 (diff)
Update the opt-in modifiers patch
-rw-r--r--packages/gtk+.py2
-rw-r--r--packages/patches/gdk-quartz-set-fix-modifiers-hack-v2.patch (renamed from packages/patches/gdk-quartz-set-fix-modifiers-hack.patch)49
2 files changed, 42 insertions, 9 deletions
diff --git a/packages/gtk+.py b/packages/gtk+.py
index bd016c9..3f35318 100644
--- a/packages/gtk+.py
+++ b/packages/gtk+.py
@@ -21,7 +21,7 @@ class GtkPackage (GnomePackage):
'http://bugzilla-attachments.gnome.org/attachment.cgi?id=201916',
# make new modifier behviour opt-in, so as not to break old versions of MonoDevelop
- 'patches/gdk-quartz-set-fix-modifiers-hack.patch',
+ 'patches/gdk-quartz-set-fix-modifiers-hack-v2.patch',
])
def prep (self):
diff --git a/packages/patches/gdk-quartz-set-fix-modifiers-hack.patch b/packages/patches/gdk-quartz-set-fix-modifiers-hack-v2.patch
index 8d5fdc3..91a14e0 100644
--- a/packages/patches/gdk-quartz-set-fix-modifiers-hack.patch
+++ b/packages/patches/gdk-quartz-set-fix-modifiers-hack-v2.patch
@@ -1,8 +1,8 @@
diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c
-index 2889097..f333e13 100644
+index a8800f7..ec6a893 100644
--- a/gdk/quartz/gdkevents-quartz.c
+++ b/gdk/quartz/gdkevents-quartz.c
-@@ -277,10 +277,19 @@ get_keyboard_modifiers_from_ns_event (NSEvent *nsevent)
+@@ -292,10 +292,19 @@ get_keyboard_modifiers_from_ns_flags (NSUInteger nsflags)
modifiers |= GDK_SHIFT_MASK;
if (nsflags & NSControlKeyMask)
modifiers |= GDK_CONTROL_MASK;
@@ -26,7 +26,7 @@ index 2889097..f333e13 100644
return modifiers;
}
-@@ -920,7 +929,7 @@ fill_key_event (GdkWindow *window,
+@@ -930,7 +939,7 @@ fill_key_event (GdkWindow *window,
{
case GDK_Meta_R:
case GDK_Meta_L:
@@ -35,7 +35,7 @@ index 2889097..f333e13 100644
break;
case GDK_Shift_R:
case GDK_Shift_L:
-@@ -931,7 +940,7 @@ fill_key_event (GdkWindow *window,
+@@ -941,7 +950,7 @@ fill_key_event (GdkWindow *window,
break;
case GDK_Alt_R:
case GDK_Alt_L:
@@ -44,6 +44,18 @@ index 2889097..f333e13 100644
break;
case GDK_Control_R:
case GDK_Control_L:
+@@ -1089,9 +1098,9 @@ _gdk_quartz_events_get_current_keyboard_modifiers (void)
+ if (carbon_modifiers & controlKey)
+ modifiers |= GDK_CONTROL_MASK;
+ if (carbon_modifiers & optionKey)
+- modifiers |= GDK_MOD1_MASK;
++ modifiers |= (gdk_quartz_get_fix_modifiers () ? GDK_MOD1_MASK : GDK_MOD2_MASK);
+ if (carbon_modifiers & cmdKey)
+- modifiers |= GDK_MOD2_MASK;
++ modifiers |= (gdk_quartz_get_fix_modifiers () ? GDK_MOD2_MASK : GDK_MOD1_MASK);
+
+ return modifiers;
+ }
diff --git a/gdk/quartz/gdkglobals-quartz.c b/gdk/quartz/gdkglobals-quartz.c
index 53c6d5e..31dbab1 100644
--- a/gdk/quartz/gdkglobals-quartz.c
@@ -67,10 +79,24 @@ index 53c6d5e..31dbab1 100644
+ return fix_modifiers;
+}
diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c
-index 5b4a79a..03c260b 100644
+index 19a20f5..94298ae 100644
--- a/gdk/quartz/gdkkeys-quartz.c
+++ b/gdk/quartz/gdkkeys-quartz.c
-@@ -712,16 +712,18 @@ void
+@@ -693,11 +693,11 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
+ for (bit = GDK_SHIFT_MASK; bit < GDK_BUTTON1_MASK; bit <<= 1)
+ {
+ if (translate_keysym (hardware_keycode,
+- (bit == GDK_MOD1_MASK) ? 0 : group,
++ (bit == (gdk_quartz_get_fix_modifiers () ? GDK_MOD1_MASK : GDK_MOD2_MASK)) ? 0 : group,
+ state & ~bit,
+ NULL, NULL) !=
+ translate_keysym (hardware_keycode,
+- (bit == GDK_MOD1_MASK) ? 1 : group,
++ (bit == (gdk_quartz_get_fix_modifiers () ? GDK_MOD1_MASK : GDK_MOD2_MASK)) ? 1 : group,
+ state | bit,
+ NULL, NULL))
+ tmp_modifiers |= bit;
+@@ -718,16 +718,18 @@ void
gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap,
GdkModifierType *state)
{
@@ -108,7 +134,7 @@ index 742d651..ed0ba35 100644
#endif /* __GDK_QUARTZ_H__ */
diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h
-index 53afe0e..af94a83 100644
+index 6386c32..aa1cc74 100644
--- a/gtk/gtkprivate.h
+++ b/gtk/gtkprivate.h
@@ -122,7 +122,7 @@ gboolean _gtk_fnmatch (const char *pattern,
@@ -120,7 +146,7 @@ index 53afe0e..af94a83 100644
#endif
#ifndef GDK_WINDOWING_QUARTZ
-@@ -130,7 +130,7 @@ gboolean _gtk_fnmatch (const char *pattern,
+@@ -130,13 +130,13 @@ gboolean _gtk_fnmatch (const char *pattern,
#define GTK_MODIFY_SELECTION_MOD_MASK GDK_CONTROL_MASK
#else
#define GTK_EXTEND_SELECTION_MOD_MASK GDK_SHIFT_MASK
@@ -128,4 +154,11 @@ index 53afe0e..af94a83 100644
+#define GTK_MODIFY_SELECTION_MOD_MASK (gdk_quartz_get_fix_modifiers () ? GDK_MOD2_MASK : GDK_MOD1_MASK)
#endif
+ #ifndef GDK_WINDOWING_QUARTZ
+ #define GTK_TOGGLE_GROUP_MOD_MASK 0
+ #else
+-#define GTK_TOGGLE_GROUP_MOD_MASK GDK_MOD1_MASK
++#define GTK_TOGGLE_GROUP_MOD_MASK (gdk_quartz_get_fix_modifiers () ? GDK_MOD1_MASK : 0)
+ #endif
+
gboolean _gtk_button_event_triggers_context_menu (GdkEventButton *event);