aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2017-10-21 02:12:01 +0200
committerMihai Moldovan <ionic@ionic.de>2018-02-07 23:15:57 +0100
commitd9c3a724972cb978660a00e1f9505d914e9a6b23 (patch)
treef8a3b77cddd9d2436d1512283e826604976d79b3
parent31900d41a067a16644e93068e003077bde64c077 (diff)
downloadnx-libs-d9c3a724972cb978660a00e1f9505d914e9a6b23.tar.gz
nx-libs-d9c3a724972cb978660a00e1f9505d914e9a6b23.tar.bz2
nx-libs-d9c3a724972cb978660a00e1f9505d914e9a6b23.zip
Xext: lift panoramiX to xorg-xserver-7.1/1.1 state
It also reintroduces a missed hack (undocumented commandline switch -disablexineramaextension to fool clients into thinking that Xinerama is disabled even though it is not). That hack had been dropped in d26930d59838e2a8305c66b67aaa163db157920c intentionally.
-rw-r--r--nx-X11/programs/Xserver/Xext/panoramiX.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/nx-X11/programs/Xserver/Xext/panoramiX.c b/nx-X11/programs/Xserver/Xext/panoramiX.c
index e720965d4..e36d04d9e 100644
--- a/nx-X11/programs/Xserver/Xext/panoramiX.c
+++ b/nx-X11/programs/Xserver/Xext/panoramiX.c
@@ -72,10 +72,10 @@ static unsigned char PanoramiXReqCode = 0;
int PanoramiXPixWidth = 0;
int PanoramiXPixHeight = 0;
-int PanoramiXNumScreens = 0;
+_X_EXPORT int PanoramiXNumScreens = 0;
-PanoramiXData *panoramiXdataPtr = NULL;
-RegionRec PanoramiXScreenRegion = {{0, 0, 0, 0}, NULL};
+_X_EXPORT PanoramiXData *panoramiXdataPtr = NULL;
+RegionRec PanoramiXScreenRegion = {{0, 0, 0, 0}, NULL};
static int PanoramiXNumDepths;
static DepthPtr PanoramiXDepths;
@@ -83,13 +83,13 @@ static int PanoramiXNumVisuals;
static VisualPtr PanoramiXVisuals;
/* We support at most 256 visuals */
-XID *PanoramiXVisualTable = NULL;
+_X_EXPORT XID *PanoramiXVisualTable = NULL;
-unsigned long XRC_DRAWABLE;
-unsigned long XRT_WINDOW;
-unsigned long XRT_PIXMAP;
-unsigned long XRT_GC;
-unsigned long XRT_COLORMAP;
+_X_EXPORT unsigned long XRC_DRAWABLE;
+_X_EXPORT unsigned long XRT_WINDOW;
+_X_EXPORT unsigned long XRT_PIXMAP;
+_X_EXPORT unsigned long XRT_GC;
+_X_EXPORT unsigned long XRT_COLORMAP;
/*
* Function prototypes
@@ -330,7 +330,7 @@ XineramaDestroyClip(GCPtr pGC)
-int
+_X_EXPORT int
XineramaDeleteResource(void * data, XID id)
{
free(data);
@@ -411,7 +411,7 @@ typedef struct _connect_callback_list {
static XineramaConnectionCallbackList *ConnectionCallbackList = NULL;
-Bool
+_X_EXPORT Bool
XineramaRegisterConnectionBlockCallback(void (*func)(void))
{
XineramaConnectionCallbackList *newlist;
@@ -1037,7 +1037,16 @@ ProcXineramaIsActive(ClientPtr client)
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
+#if 1
+ {
+ /* The following hack fools clients into thinking that Xinerama
+ * is disabled even though it is not. */
+ extern Bool PanoramiXExtensionDisabledHack;
+ rep.state = !noPanoramiXExtension && !PanoramiXExtensionDisabledHack;
+ }
+#else
rep.state = !noPanoramiXExtension;
+#endif
if (client->swapped) {
swaps (&rep.sequenceNumber);
swapl (&rep.length);