From cb718ce08eb25c3999c91b8d614fb88237fad03d Mon Sep 17 00:00:00 2001 From: Kaleb Keithley Date: Fri, 27 Feb 2004 16:17:12 +0000 Subject: [PATCH] Revert to Xinerama 1.1 In order to make a "quick" release it has been decided that the priority is to preserve the server's internal API/ABI so that third-party drivers that depend on symbols like noPanoramiXExtension, etc., would not need to be recompiled. Toobad gcc on Linux doesn't support ELF's weak symbols as that would have been a reasonable solution for preserving the ABI. N.B.: While symbols, i.e. functions and variables revert to the old name, I did not revert build names, i.e. -DXINERAMA, to the old -DPANORAMIX. There was no need, and it's just a build issue that has no impact on the binary output of the build. --- hw/darwin/quartz/cr/crScreen.m | 8 ++++---- hw/darwin/quartz/quartz.c | 8 ++++---- hw/darwin/quartz/quartzCocoa.m | 6 +++--- hw/darwin/quartz/quartzKeyboard.c | 2 ++ hw/darwin/quartz/xpr/xprScreen.c | 12 ++++++------ 5 files changed, 19 insertions(+), 17 deletions(-) diff --git a/hw/darwin/quartz/cr/crScreen.m b/hw/darwin/quartz/cr/crScreen.m index 0f767e1ba..137656489 100644 --- a/hw/darwin/quartz/cr/crScreen.m +++ b/hw/darwin/quartz/cr/crScreen.m @@ -1,4 +1,4 @@ -/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v 1.1.4.1 2003/12/06 13:24:23 kaleb Exp $ */ +/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v 1.1.4.2 2003/12/18 19:29:13 kaleb Exp $ */ /* * Cocoa rootless implementation initialization */ @@ -68,7 +68,7 @@ CRDisplayInit(void) { ErrorF("Display mode: Rootless Quartz -- Cocoa implementation\n"); - if (noPseudoramaExtension) { + if (noPseudoramiXExtension) { darwinScreensFound = [[NSScreen screens] count]; } else { darwinScreensFound = 1; // only Pseudorama knows about the rest @@ -89,7 +89,7 @@ CRScreenParams(int index, DarwinFramebufferPtr dfb) dfb->bitsPerPixel = CGDisplayBitsPerPixel(kCGDirectMainDisplay); dfb->colorBitsPerPixel = 3 * dfb->bitsPerComponent; - if (noPseudoramaExtension) { + if (noPseudoramiXExtension) { NSScreen *screen = [[NSScreen screens] objectAtIndex:index]; NSRect frame = [screen frame]; @@ -169,7 +169,7 @@ CRScreenParams(int index, DarwinFramebufferPtr dfb) ErrorF("Pseudorama screen %d placed at X11 coordinate (%d,%d).\n", i, (int)frame.origin.x, (int)frame.origin.y); - PseudoramaAddScreen(frame.origin.x, frame.origin.y, + PseudoramiXAddScreen(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); } } diff --git a/hw/darwin/quartz/quartz.c b/hw/darwin/quartz/quartz.c index b5fff69a3..01ff0b0c1 100644 --- a/hw/darwin/quartz/quartz.c +++ b/hw/darwin/quartz/quartz.c @@ -1,4 +1,4 @@ -/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/pseudoramiX.h,v 1.2 2003/04/30 23:15:39 torrey Exp $ */ +/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/quartz.c,v 1.1.4.3 2003/12/18 19:29:12 kaleb Exp $ */ /************************************************************** * * Quartz-specific support for the Darwin X Server @@ -61,7 +61,7 @@ int quartzServerVisible = TRUE; int quartzServerQuitting = FALSE; int quartzScreenIndex = 0; int aquaMenuBarHeight = 0; -int noPseudoramaExtension = TRUE; +int noPseudoramiXExtension = TRUE; QuartzModeProcsPtr quartzProcs = NULL; const char *quartzOpenGLBundle = NULL; @@ -143,8 +143,8 @@ void DarwinModeInitOutput( // Init Pseudorama implementation of Xinerama. // This should be in InitExtensions, but that causes link errors // for servers that don't link in pseudorama.c. - if (!noPseudoramaExtension) { - PseudoramaExtensionInit(argc, argv); + if (!noPseudoramiXExtension) { + PseudoramiXExtensionInit(argc, argv); } } diff --git a/hw/darwin/quartz/quartzCocoa.m b/hw/darwin/quartz/quartzCocoa.m index d824ce471..9776c0b05 100644 --- a/hw/darwin/quartz/quartzCocoa.m +++ b/hw/darwin/quartz/quartzCocoa.m @@ -1,4 +1,4 @@ -/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/quartzCocoa.m,v 1.1.4.2 2003/12/18 19:29:12 kaleb Exp $ */ +/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/quartzCocoa.m,v 1.1.4.3 2004/02/25 21:46:45 kaleb Exp $ */ /************************************************************** * * Quartz-specific support for the Darwin X Server @@ -70,12 +70,12 @@ void QuartzReadPreferences(void) if (quartzRootless) { // Use Pseudorama instead of Xinerama noPanoramiXExtension = TRUE; - noPseudoramaExtension = ![Preferences xinerama]; + noPseudoramiXExtension = ![Preferences xinerama]; quartzUseAGL = [Preferences useAGL]; } else { noPanoramiXExtension = ![Preferences xinerama]; - noPseudoramaExtension = TRUE; + noPseudoramiXExtension = TRUE; // Full screen can't use AGL for GLX quartzUseAGL = FALSE; diff --git a/hw/darwin/quartz/quartzKeyboard.c b/hw/darwin/quartz/quartzKeyboard.c index eab86e27e..a9813135e 100644 --- a/hw/darwin/quartz/quartzKeyboard.c +++ b/hw/darwin/quartz/quartzKeyboard.c @@ -69,9 +69,11 @@ const static struct { {57, XK_Caps_Lock}, {58, XK_Alt_L}, {59, XK_Control_L}, + {60, XK_Shift_R}, {61, XK_Alt_R}, {62, XK_Control_R}, + {63, XK_Meta_R}, {122, XK_F1}, {120, XK_F2}, diff --git a/hw/darwin/quartz/xpr/xprScreen.c b/hw/darwin/quartz/xpr/xprScreen.c index 8a234a8f9..deef514ed 100644 --- a/hw/darwin/quartz/xpr/xprScreen.c +++ b/hw/darwin/quartz/xpr/xprScreen.c @@ -1,4 +1,4 @@ -/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/xpr/xprScreen.c,v 1.1.4.1 2003/12/06 13:24:23 kaleb Exp $ */ +/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/xpr/xprScreen.c,v 1.1.4.2 2003/12/18 19:29:13 kaleb Exp $ */ /* * Xplugin rootless implementation screen functions */ @@ -143,7 +143,7 @@ displayScreenBounds(CGDirectDisplayID id) * Add a physical screen with Pseudorama. */ static void -addPseudoramaScreens(int *x, int *y, int *width, int *height) +addPseudoramiXScreens(int *x, int *y, int *width, int *height) { CGDisplayCount i, displayCount; CGDirectDisplayID *displayList = NULL; @@ -185,7 +185,7 @@ addPseudoramaScreens(int *x, int *y, int *width, int *height) ErrorF("Pseudorama screen %d placed at X11 coordinate (%d,%d).\n", i, (int)frame.origin.x, (int)frame.origin.y); - PseudoramaAddScreen(frame.origin.x, frame.origin.y, + PseudoramiXAddScreen(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); } @@ -209,7 +209,7 @@ xprDisplayInit(void) /* With Pseudorama, the X server only sees one screen; only Pseudorama itself knows about all of the screens. */ - if (noPseudoramaExtension) + if (noPseudoramiXExtension) darwinScreensFound = displayCount; else darwinScreensFound = 1; @@ -270,7 +270,7 @@ xprAddScreen(int index, ScreenPtr pScreen) dfb->colorBitsPerPixel = 8; } - if (noPseudoramaExtension) + if (noPseudoramiXExtension) { CGDirectDisplayID dpy; CGRect frame; @@ -286,7 +286,7 @@ xprAddScreen(int index, ScreenPtr pScreen) } else { - addPseudoramaScreens(&dfb->x, &dfb->y, &dfb->width, &dfb->height); + addPseudoramiXScreens(&dfb->x, &dfb->y, &dfb->width, &dfb->height); } /* Passing zero width (pitch) makes miCreateScreenResources set the