[X2go-Commits] nx-libs.git - master (branch) updated: redist-server/3.5.0.5-1-gfa996b5
X2go dev team
git-admin at x2go.org
Fri Jan 13 10:29:52 CET 2012
The branch, master has been updated
via fa996b5bc0e46e9b270fb2b5b45ffc1a80331b06 (commit)
from fdf0d1ccfaf3d13988ecbbe9306909d056e0bba0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fa996b5bc0e46e9b270fb2b5b45ffc1a80331b06
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Fri Jan 13 10:29:47 2012 +0100
Add patch: 202_nx-x11_enable-xinerama.patch.
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 6 +
debian/patches/202_nx-x11_enable-xinerama.patch | 259 +++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 266 insertions(+), 0 deletions(-)
create mode 100644 debian/patches/202_nx-x11_enable-xinerama.patch
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index f97a693..da11a5c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+nx-libs (2:3.5.0.6-0) UNRELEASED; urgency=low
+
+ * Add patch: 202_nx-x11_enable-xinerama.patch.
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Fri, 13 Jan 2012 10:28:49 +0100
+
nx-libs (2:3.5.0.5-0) unstable; urgency=low
* Fix wrapper script patches for nxagent, x2goagent, nxauth, nxproxy.
diff --git a/debian/patches/202_nx-x11_enable-xinerama.patch b/debian/patches/202_nx-x11_enable-xinerama.patch
new file mode 100644
index 0000000..b794d5b
--- /dev/null
+++ b/debian/patches/202_nx-x11_enable-xinerama.patch
@@ -0,0 +1,259 @@
+--- a/nx-X11/config/cf/host.def
++++ b/nx-X11/config/cf/host.def
+@@ -686,7 +686,7 @@
+ *
+ #define BuildXinerama NO
+ */
+-#define BuildXinerama NO
++#define BuildXinerama YES
+
+ /*
+ * If you don't want to build support for the GLX extension, uncomment this.
+--- a/nx-X11/config/cf/X11.tmpl
++++ b/nx-X11/config/cf/X11.tmpl
+@@ -456,7 +456,7 @@
+ #define BuildXinerama NO
+ #endif
+ #ifndef BuildXineramaLibrary
+-#define BuildXineramaLibrary (BuildXinerama && !BuildServersOnly)
++#define BuildXineramaLibrary (BuildXinerama)
+ #endif
+ #ifndef BuildDmxDevelTools
+ #define BuildDmxDevelTools NO
+--- a/nx-X11/lib/Xinerama/Xinerama.c
++++ b/nx-X11/lib/Xinerama/Xinerama.c
+@@ -249,6 +249,9 @@
+ xXineramaIsActiveReq *req;
+ XExtDisplayInfo *info = find_display (dpy);
+
++
++ return True;
++
+ if(!XextHasExtension(info))
+ return False; /* server doesn't even have the extension */
+
+@@ -279,39 +282,72 @@
+ xXineramaQueryScreensReq *req;
+ XineramaScreenInfo *scrnInfo = NULL;
+
+- PanoramiXCheckExtension (dpy, info, 0);
++ int i;
++ int x,y,w,h;
++ FILE* fptr;
++ if((fptr=fopen(getenv("NX_XINERAMA_CONF"),"r"))==NULL) {
++ PanoramiXCheckExtension (dpy, info, 0);
++ LockDisplay (dpy);
++ GetReq (XineramaQueryScreens, req);
++ req->reqType = info->codes->major_opcode;
++ req->panoramiXReqType = X_XineramaQueryScreens;
++ if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
++ UnlockDisplay (dpy);
++ SyncHandle ();
++ return NULL;
++ }
++ if(rep.number) {
++ if((scrnInfo = Xmalloc(sizeof(XineramaScreenInfo) * rep.number))) {
++ xXineramaScreenInfo scratch;
++ int i;
++
++ for(i = 0; i < rep.number; i++) {
++ _XRead(dpy, (char*)(&scratch), sz_XineramaScreenInfo);
++ scrnInfo[i].screen_number = i;
++ scrnInfo[i].x_org = scratch.x_org;
++ scrnInfo[i].y_org = scratch.y_org;
++ scrnInfo[i].width = scratch.width;
++ scrnInfo[i].height = scratch.height;
++ }
++
++ *number = rep.number;
++ } else {
++ _XEatData(dpy, rep.length << 2);
++ }
++ }
+
+- LockDisplay (dpy);
+- GetReq (XineramaQueryScreens, req);
+- req->reqType = info->codes->major_opcode;
+- req->panoramiXReqType = X_XineramaQueryScreens;
+- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
+ UnlockDisplay (dpy);
+ SyncHandle ();
+- return NULL;
+- }
+
+- if(rep.number) {
+- if((scrnInfo = Xmalloc(sizeof(XineramaScreenInfo) * rep.number))) {
+- xXineramaScreenInfo scratch;
+- int i;
+-
+- for(i = 0; i < rep.number; i++) {
+- _XRead(dpy, (char*)(&scratch), sz_XineramaScreenInfo);
+- scrnInfo[i].screen_number = i;
+- scrnInfo[i].x_org = scratch.x_org;
+- scrnInfo[i].y_org = scratch.y_org;
+- scrnInfo[i].width = scratch.width;
+- scrnInfo[i].height = scratch.height;
+- }
++ } else {
+
+- *number = rep.number;
+- } else
+- _XEatData(dpy, rep.length << 2);
++ i=0;
++ while(!feof(fptr)) {
++ w=h=0;
++ fscanf(fptr,"%d %d %d %d",&x,&y,&w,&h);
++ if(w&&h)
++ i++;
++ }
++ rewind(fptr);
++ *number=i;
++ if((scrnInfo = Xmalloc(sizeof(XineramaScreenInfo) * i))) {
++ i=0;
++ while(!feof(fptr)){
++ w=h=0;
++ fscanf(fptr,"%d %d %d %d",&x,&y,&w,&h);
++ if(w&&h){
++ scrnInfo[i].screen_number=i;
++ scrnInfo[i].x_org=x;
++ scrnInfo[i].y_org=y;
++ scrnInfo[i].width=w;
++ scrnInfo[i].height=h;
++ i++;
++ }
++ }
++ }
++ fclose(fptr);
+ }
+
+- UnlockDisplay (dpy);
+- SyncHandle ();
+ return scrnInfo;
+ }
+
+--- a/nx-X11/programs/Xserver/hw/nxagent/Imakefile
++++ b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
+@@ -206,7 +206,7 @@
+ -UNX_DEBUG_INPUT \
+ -DRANDR_10_INTERFACE \
+ -DRANDR_12_INTERFACE \
+- -UPANORAMIX \
++ -DPANORAMIX \
+ -UDEBUG_TREE
+
+ all:: $(OBJS)
+--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c
+@@ -275,17 +275,19 @@
+ case xv_PutVideo:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- result = (XineramaXvPutVideo(client)); break;
++ result = (XineramaXvPutVideo(client));
+ else
+ #endif
+- result = (ProcXvPutVideo(client)); break;
++ result = (ProcXvPutVideo(client));
++ break;
+ case xv_PutStill:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- result = (XineramaXvPutStill(client)); break
++ result = (XineramaXvPutStill(client));
+ else
+ #endif
+- result = (ProcXvPutStill(client)); break;
++ result = (ProcXvPutStill(client));
++ break;
+ case xv_GetVideo: result = (ProcXvGetVideo(client)); break;
+ case xv_GetStill: result = (ProcXvGetStill(client)); break;
+ case xv_GrabPort: result = (ProcXvGrabPort(client)); break;
+@@ -295,35 +297,39 @@
+ case xv_StopVideo:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- result = (XineramaXvStopVideo(client)); break;
++ result = (XineramaXvStopVideo(client));
+ else
+ #endif
+- result = (ProcXvStopVideo(client)); break;
++ result = (ProcXvStopVideo(client));
++ break;
+ case xv_SetPortAttribute:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- result = (XineramaXvSetPortAttribute(client)); break;
++ result = (XineramaXvSetPortAttribute(client));
+ else
+ #endif
+- result = (ProcXvSetPortAttribute(client)); break;
++ result = (ProcXvSetPortAttribute(client));
++ break;
+ case xv_GetPortAttribute: result = (ProcXvGetPortAttribute(client)); break;
+ case xv_QueryBestSize: result = (ProcXvQueryBestSize(client)); break;
+ case xv_QueryPortAttributes: result = (ProcXvQueryPortAttributes(client)); break;
+ case xv_PutImage:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- result = (XineramaXvPutImage(client)); break;
++ result = (XineramaXvPutImage(client));
+ else
+ #endif
+- result = (ProcXvPutImage(client)); break;
++ result = (ProcXvPutImage(client));
++ break;
+ #ifdef MITSHM
+ case xv_ShmPutImage:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- result = (XineramaXvShmPutImage(client)); break;
++ result = (XineramaXvShmPutImage(client));
+ else
+ #endif
+- result = (ProcXvShmPutImage(client)); break;
++ result = (ProcXvShmPutImage(client));
++ break;
+ #endif
+ case xv_QueryImageAttributes: result = (ProcXvQueryImageAttributes(client)); break;
+ case xv_ListImageFormats: result = (ProcXvListImageFormats(client)); break;
+--- a/nx-X11/programs/Xserver/Imakefile
++++ b/nx-X11/programs/Xserver/Imakefile
+@@ -1021,7 +1021,7 @@
+ #else
+ NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \
+ -lXcomp -lXcompext -lXcompshad -lXrender -lX11 -lXext -lXfixes \
+- -L../../../nx-X11/exports/lib -lXtst -lXdamage -lXrandr -lXcomposite
++ -L../../../nx-X11/exports/lib -lXtst -lXdamage -lXrandr -lXcomposite -lXinerama
+ #endif
+
+ #endif
+--- a/nx-X11/programs/Xserver/Xext/panoramiX.c
++++ b/nx-X11/programs/Xserver/Xext/panoramiX.c
+@@ -1045,16 +1045,7 @@
+ 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) {
+ register int n;
+ swaps (&rep.sequenceNumber, n);
+--- a/nx-X11/programs/Xserver/Xext/panoramiX.h
++++ b/nx-X11/programs/Xserver/Xext/panoramiX.h
+@@ -44,7 +44,7 @@
+ #define _PANORAMIX_H_
+
+ #include <X11/extensions/panoramiXext.h>
+-#include "gcstruct.h"
++/*#include "gcstruct.h"*/
+
+
+ typedef struct _PanoramiXData {
diff --git a/debian/patches/series b/debian/patches/series
index 69901b2..8b57972 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -34,6 +34,7 @@
110_nxagent_createpixmap-bounds-check.patch
200_nxagent_check-binary-x2go-flavour.patch
201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch
+202_nx-x11_enable-xinerama.patch
209_x2goagent-add-man-page.patch
300_nxagent_set-wm-class.patch
999_nxagent_unbrand-nxagent-brand-x2goagent.patch
hooks/post-receive
--
nx-libs.git (NX (redistributed))
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "nx-libs.git" (NX (redistributed)).
More information about the x2go-commits
mailing list