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

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


Rebased ref, commits from common ancestor:
commit 6a5f25ce26fe11f5bf0ce9dcde10d1bc8d5b78ab
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 9a840f4..4aaee87 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -267,8 +267,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 659ea43c2a50f0115ee4e88ac1316e139fac8bd9
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 579d8fb..b9b4d62 100644
--- a/hw/xquartz/quartzKeyboard.c
+++ b/hw/xquartz/quartzKeyboard.c
@@ -767,7 +767,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