[X2Go-Commits] nx-libs.git - build-main (branch) updated: redist-server/3.5.0.5-1-gfa996b5

X2Go dev team git-admin at x2go.org
Fri Aug 30 16:23:11 CEST 2013


The branch, build-main 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 -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                                |    6 +
 debian/patches/202_nx-x11_enable-xinerama.patch |  259 +++++++++++++++++++++++
 debian/patches/series                           |    1 +
 3 files changed, 266 insertions(+)
 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