Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
fa996b5b
Commit
fa996b5b
authored
Jan 13, 2012
by
Mike Gabriel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add patch: 202_nx-x11_enable-xinerama.patch.
parent
fdf0d1cc
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
266 additions
and
0 deletions
+266
-0
changelog
debian/changelog
+6
-0
202_nx-x11_enable-xinerama.patch
debian/patches/202_nx-x11_enable-xinerama.patch
+259
-0
series
debian/patches/series
+1
-0
No files found.
debian/changelog
View file @
fa996b5b
nx-libs (2:3.5.0.6-0) UNRELEASED; urgency=low
* Add patch: 202_nx-x11_enable-xinerama.patch.
-- Mike Gabriel <mike.gabriel@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.
...
...
debian/patches/202_nx-x11_enable-xinerama.patch
0 → 100644
View file @
fa996b5b
--- 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 {
debian/patches/series
View file @
fa996b5b
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment