In case anyone else can benefit from this... I just spent 2-3 days
hacking on the X server to get a screen to the left of the main screen
working with Xinerama (no, I can't use Xrandr).  Here's the patch
(yes, I'll mail it to xorg too).

--- xorg-server-1.7.5/dix/events.c      2010-02-28 20:41:58.000000000 -0500
+++ xorg-server-1.7.5.dj/dix/events.c   2010-02-28 20:56:52.000000000 -0500
@@ -765,5 +765,5 @@
     if (pSprite->hotShape)
        ConfineToShape(pDev, pSprite->hotShape, &new.x, &new.y);
-    if ((pScreen != pSprite->hotPhys.pScreen) ||
+    if ((noPanoramiXExtension && (pScreen != pSprite->hotPhys.pScreen)) ||
        (new.x != pSprite->hotPhys.x) || (new.y != pSprite->hotPhys.y))
     {
@@ -1164,6 +1164,6 @@
        }
 #endif
-       pSprite->hotPhys.x = event->root_x;
-       pSprite->hotPhys.y = event->root_y;
+       pSprite->hotPhys.x = (signed short)event->root_x;
+       pSprite->hotPhys.y = (signed short)event->root_y;
        /* do motion compression, but not if from different devices */
        if (tail &&
@@ -1314,5 +1314,5 @@
        syncEvents.replayDev = (DeviceIntPtr)NULL;
 
-        w = XYToWindow(replayDev, event->root_x, event->root_y);
+        w = XYToWindow(replayDev, (signed short)event->root_x, (signed 
short)event->root_y);
        for (i = 0; i < replayDev->spriteInfo->sprite->spriteTraceGood; i++)
        {
@@ -2821,6 +2821,6 @@
         }
 
-        pSprite->hot.x = ev->root_x;
-        pSprite->hot.y = ev->root_y;
+        pSprite->hot.x = (signed short)ev->root_x;
+        pSprite->hot.y = (signed short)ev->root_y;
         if (pSprite->hot.x < pSprite->physLimits.x1)
             pSprite->hot.x = pSprite->physLimits.x1;
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines

Reply via email to