xserver: Branch 'xorg-server-1.4-apple' - 3 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Mon Dec 29 00:45:00 PST 2008


 configure.ac                   |    2 +-
 hw/xquartz/X11Application.m    |   34 +++++++++++++++++++++++-----------
 hw/xquartz/doc/Xquartz.man.pre |    6 ++++++
 3 files changed, 30 insertions(+), 12 deletions(-)

New commits:
commit e9d73083259c8f9918ab2dc81248eb60ad314982
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Mon Dec 29 00:44:49 2008 -0800

    1.4.2-apple30

diff --git a/configure.ac b/configure.ac
index 663782d..76d4601 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.4.2-apple29, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.4.2-apple30, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
commit 00f3a2e33c8e91da5f855821313a04ea97445656
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Mon Dec 29 00:30:31 2008 -0800

    XQuartz: Updated man page fullscreen_hotkeys fullscreen_menu

diff --git a/hw/xquartz/doc/Xquartz.man.pre b/hw/xquartz/doc/Xquartz.man.pre
index a442c96..04bbee3 100644
--- a/hw/xquartz/doc/Xquartz.man.pre
+++ b/hw/xquartz/doc/Xquartz.man.pre
@@ -32,6 +32,12 @@ Change the modifier keys used to emulate the second mouse button. By default,
 Command is used to emulate the second button. Any combination of the following
 modifier names may be used: {l,r,}shift, {l,r,}option, {l,r,}control, {l,r,}command, fn
 .TP 8
+.B defaults write org.x.X11 fullscreen_hotkeys -boolean true
+Enable OSX hotkeys while in fullscreen
+.TP 8
+.B defaults write org.x.X11 fullscreen_menu -boolean true
+Show the OSX menu while in fullscreen
+.TP 8
 .B defaults write org.x.X11 no_quit_alert -boolean true
 Disables the alert dialog displayed when attempting to quit X11.
 .TP 8
commit 4af2acc5fd7d55bc7aece69b426f055cdc2b619f
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Mon Dec 29 00:29:12 2008 -0800

    XQuartz: Enable a defaults option to toggle off the vnc bug workaround

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index ed41b3c..990c008 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -67,6 +67,7 @@ extern BOOL xpbproxy_init (void);
 #define VNCMODIFIERBUGWORKAROUND 1 
 
 #ifdef VNCMODIFIERBUGWORKAROUND
+static BOOL vncModifierBugWorkaround = YES;
 static NSEventType keyState[NUM_KEYCODES];
 #endif
 
@@ -207,10 +208,12 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
         }
     } else {
 #ifdef VNCMODIFIERBUGWORKAROUND
-        DarwinUpdateModKeys(0);
-        for(i=0; i < NUM_KEYCODES; i++) {
-            if(keyState[i] == NSKeyDown)
-                DarwinSendKeyboardEvents(KeyRelease, i);
+        if(vncModifierBugWorkaround) {
+            DarwinUpdateModKeys(0);
+            for(i=0; i < NUM_KEYCODES; i++) {
+                if(keyState[i] == NSKeyDown)
+                    DarwinSendKeyboardEvents(KeyRelease, i);
+            }
         }
 #endif
         DarwinSendDDXEvent(kXquartzDeactivate, 0);
@@ -694,7 +697,11 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
 {
     NSString *nsstr;
     const char *tem;
-	
+
+#ifdef VNCMODIFIERBUGWORKAROUND
+    vncModifierBugWorkaround = [self prefs_get_boolean:@"vncModifierBugWorkaround" default:vncModifierBugWorkaround];
+#endif
+    
     quartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP
                                        default:quartzUseSysBeep];
     quartzEnableRootless = [self prefs_get_boolean:@PREFS_ROOTLESS
@@ -898,8 +905,10 @@ void X11ApplicationMain (int argc, char **argv, char **envp) {
 					name:NSWindowDidBecomeKeyNotification object:nil];
 
 #ifdef VNCMODIFIERBUGWORKAROUND
-    for(i=0; i < NUM_KEYCODES; i++) {
-        keyState[i] = NSKeyUp;
+    if(vncModifierBugWorkaround) {
+        for(i=0; i < NUM_KEYCODES; i++) {
+            keyState[i] = NSKeyUp;
+        }
     }
 #endif
 
@@ -976,14 +985,15 @@ extern int darwin_modifier_flags; // darwinEvents.c
     tilt_x = 0;
     tilt_y = 0;
 
-#ifndef VNCMODIFIERBUGWORKAROUND
     /* We don't receive modifier key events while out of focus, and 3button
      * emulation mucks this up, so we need to check our modifier flag state
      * on every event... ugg
      */
+#ifdef VNCMODIFIERBUGWORKAROUND
+    if(!vncModifierBugWorkaround)
+#endif
     if(darwin_modifier_flags != [e modifierFlags])
         DarwinUpdateModKeys([e modifierFlags]);
-#endif
 
 	switch ([e type]) {
 		case NSLeftMouseDown:     ev_button=1; ev_type=ButtonPress;   goto handle_mouse;
@@ -1124,7 +1134,8 @@ extern int darwin_modifier_flags; // darwinEvents.c
             }
 
 #ifdef VNCMODIFIERBUGWORKAROUND
-            keyState[[e keyCode]] == [e type];
+            if(vncModifierBugWorkaround)
+                keyState[[e keyCode]] == [e type];
 #endif
 
             DarwinSendKeyboardEvents(([e type] == NSKeyDown) ? KeyPress : KeyRelease, [e keyCode]);
@@ -1132,7 +1143,8 @@ extern int darwin_modifier_flags; // darwinEvents.c
 
 #ifdef VNCMODIFIERBUGWORKAROUND
         case NSFlagsChanged:
-            DarwinUpdateModKeys([e modifierFlags]);
+            if(vncModifierBugWorkaround)
+                DarwinUpdateModKeys([e modifierFlags]);
             break;
 #endif
 


More information about the xorg-commit mailing list