[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