[Xquartz-changes] xserver: Branch 'server-1.6-apple' - 2 commits

Jeremy Huddleston jeremyhu at freedesktop.org
Mon Mar 29 15:28:32 PDT 2010


Rebased ref, commits from common ancestor:
commit cba944f24b4c88e859c4d0bf1dd916c5992b2c3a
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date:   Sun Mar 28 13:46:23 2010 -0700

    XQuartz: Re-query dixScreenOrigins as the value could've changed.
    
    Fix a regression in 9c9c3a85b094a3c7b2763a572715d710325091aa
    
    Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
    Acked-by: Adam Jackson <ajax at redhat.com>
    (cherry picked from commit 28a5f14b4089dccb8045cc4fdc923542a73dd22d)

diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index c784fff..b063640 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -268,8 +268,11 @@ static void QuartzUpdateScreens(void) {
     DarwinAdjustScreenOrigins(&screenInfo);
     quartzProcs->UpdateScreen(pScreen);
     
-    sx = x + darwinMainScreenX;
-    sy = y + darwinMainScreenY;
+    /* DarwinAdjustScreenOrigins or UpdateScreen may change dixScreenOrigins,
+     * so use it rather than x/y
+     */
+    sx = dixScreenOrigins[pScreen->myNum].x + darwinMainScreenX;
+    sy = dixScreenOrigins[pScreen->myNum].y + darwinMainScreenY;
     
     /* Adjust the root window. */
     pRoot = WindowTable[pScreen->myNum];
commit 59318f77357a1b1a1eec11212bab48f95c9e911a
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date:   Thu Mar 25 22:15:58 2010 -0700

    XQuartz: Workaround weird key data reported on some layouts
    
    This should make 'Unicode Hex Input' work as an input layout.
    
    Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
    Acked-by: Adam Jackson <ajax at redhat.com>
    (cherry picked from commit 339207be6f184cc783076fc7e2cc12f92f57f2ba)

diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c
index bac762c..41138bb 100644
--- a/hw/xquartz/quartzKeyboard.c
+++ b/hw/xquartz/quartzKeyboard.c
@@ -770,7 +770,10 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
                     if (err != noErr) continue;
                 }
 
-                if (len > 0 && s[0] != 0x0010) {
+                /* Not sure why 0x0010 is there.
+                 * 0x0000 - <rdar://problem/7793566> 'Unicode Hex Input' ...
+                 */
+                if (len > 0 && s[0] != 0x0010 && s[0] != 0x0000) {
                     k[j] = ucs2keysym (s[0]);
                     if (dead_key_state != 0) k[j] = make_dead_key (k[j]);
                 }


More information about the Xquartz-changes mailing list