forked from pool/xorg-x11-server
This commit is contained in:
parent
bd564af56b
commit
8fd5b48947
@ -10,11 +10,9 @@ even if idev is null. This takes down the xserver hard in some cases
|
|||||||
hw/xfree86/common/xf86Xinput.c | 23 +++++++++++++----------
|
hw/xfree86/common/xf86Xinput.c | 23 +++++++++++++----------
|
||||||
1 files changed, 13 insertions(+), 10 deletions(-)
|
1 files changed, 13 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
|
--- xorg-server-1.6.0/hw/xfree86/common/xf86Xinput.c.orig 2009-02-25 20:12:11.000000000 +0100
|
||||||
index 710e787..c0b6124 100644
|
+++ xorg-server-1.6.0/hw/xfree86/common/xf86Xinput.c 2009-02-27 17:26:35.000000000 +0100
|
||||||
--- a/hw/xfree86/common/xf86Xinput.c
|
@@ -675,17 +675,20 @@ DeleteInputDeviceRequest(DeviceIntPtr pD
|
||||||
+++ b/hw/xfree86/common/xf86Xinput.c
|
|
||||||
@@ -466,17 +466,20 @@ DeleteInputDeviceRequest(DeviceIntPtr pDev)
|
|
||||||
else
|
else
|
||||||
xf86DeleteInput(pInfo, 0);
|
xf86DeleteInput(pInfo, 0);
|
||||||
|
|
||||||
@ -44,7 +42,4 @@ index 710e787..c0b6124 100644
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
OsReleaseSignals();
|
||||||
--
|
|
||||||
1.5.2.4
|
|
||||||
|
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
--- composite/compinit.c.orig 2008-06-27 19:54:41.000000000 +0000
|
|
||||||
+++ composite/compinit.c 2008-06-27 20:10:45.000000000 +0000
|
|
||||||
@@ -122,11 +122,11 @@
|
|
||||||
if (ret && (mask & CWBackingStore)) {
|
|
||||||
if (pWin->backingStore != NotUseful) {
|
|
||||||
compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
|
|
||||||
- pWin->backStorage = TRUE;
|
|
||||||
+ pWin->backStorage = (pointer) TRUE;
|
|
||||||
} else {
|
|
||||||
compUnredirectWindow(serverClient, pWin,
|
|
||||||
CompositeRedirectAutomatic);
|
|
||||||
- pWin->backStorage = FALSE;
|
|
||||||
+ pWin->backStorage = (pointer) FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
13
64bit.diff
13
64bit.diff
@ -1,13 +0,0 @@
|
|||||||
--- hw/xfree86/common.orig/xf86Events.c 2006-06-27 10:16:25.000000000 +0000
|
|
||||||
+++ hw/xfree86/common/xf86Events.c 2006-06-27 10:43:01.000000000 +0000
|
|
||||||
@@ -1292,8 +1292,8 @@
|
|
||||||
size_t size, i;
|
|
||||||
char **strings;
|
|
||||||
ErrorF("\nBacktrace:\n");
|
|
||||||
- size = backtrace(array, 32);
|
|
||||||
- strings = backtrace_symbols(array, size);
|
|
||||||
+ size = (size_t) backtrace(array, 32);
|
|
||||||
+ strings = (char **) backtrace_symbols(array, size);
|
|
||||||
for (i = 0; i < size; i++)
|
|
||||||
ErrorF("%d: %s\n", i, strings[i]);
|
|
||||||
free(strings);
|
|
@ -53,21 +53,3 @@ index 03c2c3a..843efb7 100644
|
|||||||
case $host_os in
|
case $host_os in
|
||||||
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
|
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
|
||||||
esac
|
esac
|
||||||
--- xorg-server-1.4.99.902/hw/xfree86/utils/xorgconfig/xorgconfig.c.orig 2008-04-10 20:58:01.000000000 +0200
|
|
||||||
+++ xorg-server-1.4.99.902/hw/xfree86/utils/xorgconfig/xorgconfig.c 2008-06-16 19:26:46.000000000 +0200
|
|
||||||
@@ -1908,14 +1908,12 @@
|
|
||||||
{
|
|
||||||
/* " FontPath \"" TREEROOTFONT "/75dpi/\"\n"*/
|
|
||||||
"/local/",
|
|
||||||
- "/misc/",
|
|
||||||
+ "/misc/:unscaled",
|
|
||||||
"/75dpi/:unscaled",
|
|
||||||
"/100dpi/:unscaled",
|
|
||||||
"/Type1/",
|
|
||||||
"/TrueType/",
|
|
||||||
"/freefont/",
|
|
||||||
- "/75dpi/",
|
|
||||||
- "/100dpi/",
|
|
||||||
0 /* end of fontpaths */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
commit 59f9fb4b8c031df69b3592a26b77e744ff4a556e
|
|
||||||
Author: Luc Verhaegen <libv@skynet.be>
|
|
||||||
Date: Fri Nov 7 19:11:11 2008 +0100
|
|
||||||
|
|
||||||
XAA PixmapOps: Sync before accessing unwrapped callbacks.
|
|
||||||
|
|
||||||
When using any XAAPixmapOps, we call into unknown but freshly
|
|
||||||
unwrapped callbacks (like fb ones). Unlike the XAA*Fallback calls,
|
|
||||||
we did so without syncing first, exposing us to all kinds of
|
|
||||||
synchronisation issues.
|
|
||||||
|
|
||||||
I believe that the rendering errors appeared now because *PaintWindow
|
|
||||||
vanished (e4d11e58), and we just use miPaintWindow instead. This
|
|
||||||
takes a less direct route to the hw and ends up at
|
|
||||||
PolyFillRectPixmap, which very often left drawing artifacts.
|
|
||||||
|
|
||||||
We now sync accordingly, and no longer get the rendering artifacts i
|
|
||||||
was methodically reproducing on radeonhd, radeon, unichrome...
|
|
||||||
|
|
||||||
Also, in order to allow driver authors to remove extensive syncing
|
|
||||||
or flushing to hide this issue, create XAA_VERSION_ defines, put
|
|
||||||
them in xaa.h and bump the patchlevel.
|
|
||||||
|
|
||||||
(novell bug #435791)
|
|
||||||
|
|
||||||
diff --git a/hw/xfree86/xaa/xaa.h b/hw/xfree86/xaa/xaa.h
|
|
||||||
index 1dc7ed2..d6ccc31 100644
|
|
||||||
--- a/hw/xfree86/xaa/xaa.h
|
|
||||||
+++ b/hw/xfree86/xaa/xaa.h
|
|
||||||
@@ -2,6 +2,10 @@
|
|
||||||
#ifndef _XAA_H
|
|
||||||
#define _XAA_H
|
|
||||||
|
|
||||||
+#define XAA_VERSION_MAJOR 1
|
|
||||||
+#define XAA_VERSION_MINOR 2
|
|
||||||
+#define XAA_VERSION_RELEASE 1
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
|
|
||||||
******** OPERATION SPECIFIC FLAGS *********
|
|
||||||
diff --git a/hw/xfree86/xaa/xaaInitAccel.c b/hw/xfree86/xaa/xaaInitAccel.c
|
|
||||||
index 53795f0..0672bcf 100644
|
|
||||||
--- a/hw/xfree86/xaa/xaaInitAccel.c
|
|
||||||
+++ b/hw/xfree86/xaa/xaaInitAccel.c
|
|
||||||
@@ -100,7 +100,9 @@ static XF86ModuleVersionInfo xaaVersRec =
|
|
||||||
MODINFOSTRING1,
|
|
||||||
MODINFOSTRING2,
|
|
||||||
XORG_VERSION_CURRENT,
|
|
||||||
- 1, 2, 0,
|
|
||||||
+ XAA_VERSION_MAJOR,
|
|
||||||
+ XAA_VERSION_MINOR,
|
|
||||||
+ XAA_VERSION_RELEASE,
|
|
||||||
ABI_CLASS_VIDEODRV, /* requires the video driver ABI */
|
|
||||||
ABI_VIDEODRV_VERSION,
|
|
||||||
MOD_CLASS_NONE,
|
|
||||||
diff --git a/hw/xfree86/xaa/xaawrap.h b/hw/xfree86/xaa/xaawrap.h
|
|
||||||
index 38c97d7..857dbc3 100644
|
|
||||||
--- a/hw/xfree86/xaa/xaawrap.h
|
|
||||||
+++ b/hw/xfree86/xaa/xaawrap.h
|
|
||||||
@@ -48,8 +48,8 @@
|
|
||||||
XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\
|
|
||||||
GCFuncs *oldFuncs = pGC->funcs;\
|
|
||||||
pGC->funcs = pGCPriv->wrapFuncs;\
|
|
||||||
- pGC->ops = pGCPriv->wrapOps
|
|
||||||
-
|
|
||||||
+ pGC->ops = pGCPriv->wrapOps; \
|
|
||||||
+ SYNC_CHECK(pGC)
|
|
||||||
|
|
||||||
#define XAA_PIXMAP_OP_EPILOGUE(pGC)\
|
|
||||||
pGCPriv->wrapOps = pGC->ops;\
|
|
@ -1,49 +0,0 @@
|
|||||||
commit a9e20306fbe3262602f21b876a52a1ef38cdf20a
|
|
||||||
Author: Egbert Eich <eich@ovid.suse.de>
|
|
||||||
Date: Fri Nov 21 18:50:01 2008 +0100
|
|
||||||
|
|
||||||
int10: Do an mprotect(..,PROT_EXEC) on shmat()ed memory ranges.
|
|
||||||
|
|
||||||
When the linux kernel sets the NX bit vm86 segfaults when it tries to execute
|
|
||||||
code in memory that is not marked EXEC. Such code gets called whenever
|
|
||||||
we return from a VBIOS call to signal the calling program that the call
|
|
||||||
is actually finished and that we are not trapping for other reasons (like
|
|
||||||
IO accesses).
|
|
||||||
Use mprotect(2) to set these memory ranges PROT_EXEC.
|
|
||||||
|
|
||||||
diff --git a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c
|
|
||||||
index 67eb161..b15f7fd 100644
|
|
||||||
--- a/hw/xfree86/os-support/linux/int10/linux.c
|
|
||||||
+++ b/hw/xfree86/os-support/linux/int10/linux.c
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
/*
|
|
||||||
* linux specific part of the int10 module
|
|
||||||
- * Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich
|
|
||||||
+ * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2008 Egbert Eich
|
|
||||||
*/
|
|
||||||
#ifdef HAVE_XORG_CONFIG_H
|
|
||||||
#include <xorg-config.h>
|
|
||||||
@@ -357,7 +357,10 @@ MapCurrentInt10(xf86Int10InfoPtr pInt)
|
|
||||||
"shmat(low_mem) error: %s\n",strerror(errno));
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+ if (mprotect((void*)0, V_RAM, PROT_READ|PROT_WRITE|PROT_EXEC) != 0)
|
|
||||||
+ xf86DrvMsg(pInt->scrnIndex, X_ERROR,
|
|
||||||
+ "Cannot set EXEC bit on low memory: %s\n", strerror(errno));
|
|
||||||
+
|
|
||||||
if (((linuxInt10Priv*)pInt->private)->highMem >= 0) {
|
|
||||||
addr = shmat(((linuxInt10Priv*)pInt->private)->highMem,
|
|
||||||
(char*)HIGH_MEM, 0);
|
|
||||||
@@ -368,6 +371,11 @@ MapCurrentInt10(xf86Int10InfoPtr pInt)
|
|
||||||
"shmget error: %s\n",strerror(errno));
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
+ if (mprotect((void*)HIGH_MEM, HIGH_MEM_SIZE,
|
|
||||||
+ PROT_READ|PROT_WRITE|PROT_EXEC) != 0)
|
|
||||||
+ xf86DrvMsg(pInt->scrnIndex, X_ERROR,
|
|
||||||
+ "Cannot set EXEC bit on high memory: %s\n",
|
|
||||||
+ strerror(errno));
|
|
||||||
} else {
|
|
||||||
if ((fd = open(DEV_MEM, O_RDWR, 0)) >= 0) {
|
|
||||||
if (mmap((void *)(V_BIOS), SYS_BIOS - V_BIOS,
|
|
@ -1,23 +1,19 @@
|
|||||||
Index: events.c
|
--- dix/events.c.orig 2009-02-25 20:12:10.000000000 +0100
|
||||||
===================================================================
|
+++ dix/events.c 2009-02-27 16:53:47.000000000 +0100
|
||||||
RCS file: /home/eich/cvs/xc/programs/Xserver/dix/events.c,v
|
@@ -786,37 +786,80 @@ ConfineToShape(DeviceIntPtr pDev, Region
|
||||||
retrieving revision 1.1.1.19
|
|
||||||
diff -u -r1.1.1.19 events.c
|
|
||||||
--- dix/events.c.orig 26 Aug 2004 12:09:13 -0000 1.1.1.19
|
|
||||||
+++ dix/events.c 2 Mar 2005 20:04:13 -0000
|
|
||||||
@@ -656,35 +656,79 @@
|
|
||||||
{
|
{
|
||||||
BoxRec box;
|
BoxRec box;
|
||||||
int x = *px, y = *py;
|
int x = *px, y = *py;
|
||||||
- int incx = 1, incy = 1;
|
- int incx = 1, incy = 1;
|
||||||
-
|
SpritePtr pSprite;
|
||||||
+ int nbox;
|
+ int nbox;
|
||||||
+ BoxPtr pbox;
|
+ BoxPtr pbox;
|
||||||
+ int d, min = (~0U >> 1), dx2, dy2, x_r, y_r;
|
+ int d, min = (~0U >> 1), dx2, dy2, x_r, y_r;
|
||||||
+
|
|
||||||
if (POINT_IN_REGION(sprite.hot.pScreen, shape, x, y, &box))
|
pSprite = pDev->spriteInfo->sprite;
|
||||||
|
if (POINT_IN_REGION(pSprite->hot.pScreen, shape, x, y, &box))
|
||||||
return;
|
return;
|
||||||
- box = *REGION_EXTENTS(sprite.hot.pScreen, shape);
|
- box = *REGION_EXTENTS(pSprite->hot.pScreen, shape);
|
||||||
- /* this is rather crude */
|
- /* this is rather crude */
|
||||||
- do {
|
- do {
|
||||||
- x += incx;
|
- x += incx;
|
||||||
@ -101,11 +97,10 @@ diff -u -r1.1.1.19 events.c
|
|||||||
- else if (y < box.y1)
|
- else if (y < box.y1)
|
||||||
- return; /* should never get here! */
|
- return; /* should never get here! */
|
||||||
}
|
}
|
||||||
- } while (!POINT_IN_REGION(sprite.hot.pScreen, shape, x, y, &box));
|
- } while (!POINT_IN_REGION(pSprite->hot.pScreen, shape, x, y, &box));
|
||||||
- *px = x;
|
- *px = x;
|
||||||
- *py = y;
|
- *py = y;
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
935
dga_cleanup.diff
935
dga_cleanup.diff
@ -1,935 +0,0 @@
|
|||||||
commit 322335d5b5b6f155f56fe3c1cbe372f13dc20932
|
|
||||||
Author: Luc Verhaegen <libv@skynet.be>
|
|
||||||
Date: Thu Oct 9 22:21:05 2008 +0200
|
|
||||||
|
|
||||||
DGA: Mash together xf86dga.c and xf86dga2.c.
|
|
||||||
|
|
||||||
This in preparation for an upcoming client state tracking fix.
|
|
||||||
|
|
||||||
diff --git a/hw/xfree86/dixmods/extmod/Makefile.am b/hw/xfree86/dixmods/extmod/Makefile.am
|
|
||||||
index 317971d..dd4ccd6 100644
|
|
||||||
--- a/hw/xfree86/dixmods/extmod/Makefile.am
|
|
||||||
+++ b/hw/xfree86/dixmods/extmod/Makefile.am
|
|
||||||
@@ -4,7 +4,7 @@ extsmoduledir = $(moduledir)/extensions
|
|
||||||
extsmodule_LTLIBRARIES = libextmod.la
|
|
||||||
|
|
||||||
if DGA
|
|
||||||
-DGA_SRCS = xf86dga.c xf86dga2.c dgaproc.h xf86dgaext.h
|
|
||||||
+DGA_SRCS = xf86dga2.c dgaproc.h xf86dgaext.h
|
|
||||||
endif
|
|
||||||
|
|
||||||
if XV
|
|
||||||
diff --git a/hw/xfree86/dixmods/extmod/xf86dga.c b/hw/xfree86/dixmods/extmod/xf86dga.c
|
|
||||||
deleted file mode 100644
|
|
||||||
index c66bca2..0000000
|
|
||||||
--- a/hw/xfree86/dixmods/extmod/xf86dga.c
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,309 +0,0 @@
|
|
||||||
-
|
|
||||||
-/*
|
|
||||||
-
|
|
||||||
-Copyright (c) 1995 Jon Tombs
|
|
||||||
-Copyright (c) 1995, 1996, 1999 XFree86 Inc
|
|
||||||
-
|
|
||||||
-*/
|
|
||||||
-
|
|
||||||
-#ifdef HAVE_XORG_CONFIG_H
|
|
||||||
-#include <xorg-config.h>
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#define NEED_REPLIES
|
|
||||||
-#define NEED_EVENTS
|
|
||||||
-#include <X11/X.h>
|
|
||||||
-#include <X11/Xproto.h>
|
|
||||||
-#include "misc.h"
|
|
||||||
-#include "dixstruct.h"
|
|
||||||
-#include "extnsionst.h"
|
|
||||||
-#include "colormapst.h"
|
|
||||||
-#include "cursorstr.h"
|
|
||||||
-#include "scrnintstr.h"
|
|
||||||
-#include "servermd.h"
|
|
||||||
-#define _XF86DGA_SERVER_
|
|
||||||
-#include <X11/extensions/xf86dga.h>
|
|
||||||
-#include <X11/extensions/xf86dgastr.h>
|
|
||||||
-#include "swaprep.h"
|
|
||||||
-#include "dgaproc.h"
|
|
||||||
-
|
|
||||||
-#include "xf86dgaext.h"
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGADirectVideo);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGAGetVidPage);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGAGetVideoLL);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGAGetViewPortSize);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGASetVidPage);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGASetViewPort);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGAInstallColormap);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGAQueryDirectVideo);
|
|
||||||
-static DISPATCH_PROC(ProcXF86DGAViewPortChanged);
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGAGetVideoLL(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- REQUEST(xXF86DGAGetVideoLLReq);
|
|
||||||
- xXF86DGAGetVideoLLReply rep;
|
|
||||||
- XDGAModeRec mode;
|
|
||||||
- int num, offset, flags;
|
|
||||||
- char *name;
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq);
|
|
||||||
- rep.type = X_Reply;
|
|
||||||
- rep.length = 0;
|
|
||||||
- rep.sequenceNumber = client->sequence;
|
|
||||||
-
|
|
||||||
- if(!DGAAvailable(stuff->screen))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
-
|
|
||||||
- if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
-
|
|
||||||
- /* get the parameters for the mode that best matches */
|
|
||||||
- DGAGetModeInfo(stuff->screen, &mode, num);
|
|
||||||
-
|
|
||||||
- if(!DGAOpenFramebuffer(stuff->screen, &name,
|
|
||||||
- (unsigned char**)(&rep.offset),
|
|
||||||
- (int*)(&rep.bank_size), &offset, &flags))
|
|
||||||
- return BadAlloc;
|
|
||||||
-
|
|
||||||
- rep.offset += mode.offset;
|
|
||||||
- rep.width = mode.bytesPerScanline / (mode.bitsPerPixel >> 3);
|
|
||||||
- rep.ram_size = rep.bank_size >> 10;
|
|
||||||
-
|
|
||||||
- WriteToClient(client, SIZEOF(xXF86DGAGetVideoLLReply), (char *)&rep);
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGADirectVideo(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- int num;
|
|
||||||
- PixmapPtr pix;
|
|
||||||
- XDGAModeRec mode;
|
|
||||||
- REQUEST(xXF86DGADirectVideoReq);
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq);
|
|
||||||
-
|
|
||||||
- if (!DGAAvailable(stuff->screen))
|
|
||||||
- return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
-
|
|
||||||
- if (stuff->enable & XF86DGADirectGraphics) {
|
|
||||||
- if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
- } else
|
|
||||||
- num = 0;
|
|
||||||
-
|
|
||||||
- if(Success != DGASetMode(stuff->screen, num, &mode, &pix))
|
|
||||||
- return (DGAErrorBase + XF86DGAScreenNotActive);
|
|
||||||
-
|
|
||||||
- DGASetInputMode (stuff->screen,
|
|
||||||
- (stuff->enable & XF86DGADirectKeyb) != 0,
|
|
||||||
- (stuff->enable & XF86DGADirectMouse) != 0);
|
|
||||||
-
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGAGetViewPortSize(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- int num;
|
|
||||||
- XDGAModeRec mode;
|
|
||||||
- REQUEST(xXF86DGAGetViewPortSizeReq);
|
|
||||||
- xXF86DGAGetViewPortSizeReply rep;
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq);
|
|
||||||
- rep.type = X_Reply;
|
|
||||||
- rep.length = 0;
|
|
||||||
- rep.sequenceNumber = client->sequence;
|
|
||||||
-
|
|
||||||
- if (!DGAAvailable(stuff->screen))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
-
|
|
||||||
- if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
-
|
|
||||||
- DGAGetModeInfo(stuff->screen, &mode, num);
|
|
||||||
-
|
|
||||||
- rep.width = mode.viewportWidth;
|
|
||||||
- rep.height = mode.viewportHeight;
|
|
||||||
-
|
|
||||||
- WriteToClient(client, SIZEOF(xXF86DGAGetViewPortSizeReply), (char *)&rep);
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGASetViewPort(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- REQUEST(xXF86DGASetViewPortReq);
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq);
|
|
||||||
-
|
|
||||||
- if (!DGAAvailable(stuff->screen))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
-
|
|
||||||
- if (!DGAActive(stuff->screen))
|
|
||||||
- {
|
|
||||||
- int num;
|
|
||||||
- PixmapPtr pix;
|
|
||||||
- XDGAModeRec mode;
|
|
||||||
-
|
|
||||||
- if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
- if(Success != DGASetMode(stuff->screen, num, &mode, &pix))
|
|
||||||
- return (DGAErrorBase + XF86DGAScreenNotActive);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (DGASetViewport(stuff->screen, stuff->x, stuff->y, DGA_FLIP_RETRACE)
|
|
||||||
- != Success)
|
|
||||||
- return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
-
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGAGetVidPage(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- REQUEST(xXF86DGAGetVidPageReq);
|
|
||||||
- xXF86DGAGetVidPageReply rep;
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq);
|
|
||||||
- rep.type = X_Reply;
|
|
||||||
- rep.length = 0;
|
|
||||||
- rep.sequenceNumber = client->sequence;
|
|
||||||
- rep.vpage = 0; /* silently fail */
|
|
||||||
-
|
|
||||||
- WriteToClient(client, SIZEOF(xXF86DGAGetVidPageReply), (char *)&rep);
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGASetVidPage(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- REQUEST(xXF86DGASetVidPageReq);
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq);
|
|
||||||
-
|
|
||||||
- /* silently fail */
|
|
||||||
-
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGAInstallColormap(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- ColormapPtr pcmp;
|
|
||||||
- REQUEST(xXF86DGAInstallColormapReq);
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq);
|
|
||||||
-
|
|
||||||
- if (!DGAActive(stuff->screen))
|
|
||||||
- return (DGAErrorBase + XF86DGADirectNotActivated);
|
|
||||||
-
|
|
||||||
- pcmp = (ColormapPtr )LookupIDByType(stuff->id, RT_COLORMAP);
|
|
||||||
- if (pcmp) {
|
|
||||||
- DGAInstallCmap(pcmp);
|
|
||||||
- return (client->noClientException);
|
|
||||||
- } else {
|
|
||||||
- client->errorValue = stuff->id;
|
|
||||||
- return (BadColor);
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGAQueryDirectVideo(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- REQUEST(xXF86DGAQueryDirectVideoReq);
|
|
||||||
- xXF86DGAQueryDirectVideoReply rep;
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq);
|
|
||||||
- rep.type = X_Reply;
|
|
||||||
- rep.length = 0;
|
|
||||||
- rep.sequenceNumber = client->sequence;
|
|
||||||
- rep.flags = 0;
|
|
||||||
-
|
|
||||||
- if (DGAAvailable(stuff->screen))
|
|
||||||
- rep.flags = XF86DGADirectPresent;
|
|
||||||
-
|
|
||||||
- WriteToClient(client, SIZEOF(xXF86DGAQueryDirectVideoReply), (char *)&rep);
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static int
|
|
||||||
-ProcXF86DGAViewPortChanged(ClientPtr client)
|
|
||||||
-{
|
|
||||||
- REQUEST(xXF86DGAViewPortChangedReq);
|
|
||||||
- xXF86DGAViewPortChangedReply rep;
|
|
||||||
-
|
|
||||||
- if (stuff->screen > screenInfo.numScreens)
|
|
||||||
- return BadValue;
|
|
||||||
-
|
|
||||||
- REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq);
|
|
||||||
-
|
|
||||||
- if (!DGAActive(stuff->screen))
|
|
||||||
- return (DGAErrorBase + XF86DGADirectNotActivated);
|
|
||||||
-
|
|
||||||
- rep.type = X_Reply;
|
|
||||||
- rep.length = 0;
|
|
||||||
- rep.sequenceNumber = client->sequence;
|
|
||||||
- rep.result = 1;
|
|
||||||
-
|
|
||||||
- WriteToClient(client, SIZEOF(xXF86DGAViewPortChangedReply), (char *)&rep);
|
|
||||||
- return (client->noClientException);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-int
|
|
||||||
-ProcXF86DGADispatch(register ClientPtr client)
|
|
||||||
-{
|
|
||||||
- REQUEST(xReq);
|
|
||||||
-
|
|
||||||
- switch (stuff->data)
|
|
||||||
- {
|
|
||||||
- case X_XF86DGAGetVideoLL:
|
|
||||||
- return ProcXF86DGAGetVideoLL(client);
|
|
||||||
- case X_XF86DGADirectVideo:
|
|
||||||
- return ProcXF86DGADirectVideo(client);
|
|
||||||
- case X_XF86DGAGetViewPortSize:
|
|
||||||
- return ProcXF86DGAGetViewPortSize(client);
|
|
||||||
- case X_XF86DGASetViewPort:
|
|
||||||
- return ProcXF86DGASetViewPort(client);
|
|
||||||
- case X_XF86DGAGetVidPage:
|
|
||||||
- return ProcXF86DGAGetVidPage(client);
|
|
||||||
- case X_XF86DGASetVidPage:
|
|
||||||
- return ProcXF86DGASetVidPage(client);
|
|
||||||
- case X_XF86DGAInstallColormap:
|
|
||||||
- return ProcXF86DGAInstallColormap(client);
|
|
||||||
- case X_XF86DGAQueryDirectVideo:
|
|
||||||
- return ProcXF86DGAQueryDirectVideo(client);
|
|
||||||
- case X_XF86DGAViewPortChanged:
|
|
||||||
- return ProcXF86DGAViewPortChanged(client);
|
|
||||||
- default:
|
|
||||||
- return BadRequest;
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
diff --git a/hw/xfree86/dixmods/extmod/xf86dga2.c b/hw/xfree86/dixmods/extmod/xf86dga2.c
|
|
||||||
index c12178f..100bde9 100644
|
|
||||||
--- a/hw/xfree86/dixmods/extmod/xf86dga2.c
|
|
||||||
+++ b/hw/xfree86/dixmods/extmod/xf86dga2.c
|
|
||||||
@@ -1,8 +1,10 @@
|
|
||||||
/*
|
|
||||||
- Copyright (c) 1999 - The XFree86 Project Inc.
|
|
||||||
-
|
|
||||||
- Written by Mark Vojkovich
|
|
||||||
-*/
|
|
||||||
+ * Copyright (c) 1995 Jon Tombs
|
|
||||||
+ * Copyright (c) 1995, 1996, 1999 XFree86 Inc
|
|
||||||
+ * Copyright (c) 1999 - The XFree86 Project Inc.
|
|
||||||
+ *
|
|
||||||
+ * Written by Mark Vojkovich
|
|
||||||
+ */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_XORG_CONFIG_H
|
|
||||||
@@ -33,6 +35,8 @@
|
|
||||||
|
|
||||||
#include "modinit.h"
|
|
||||||
|
|
||||||
+#define DGA_PROTOCOL_OLD_SUPPORT 1
|
|
||||||
+
|
|
||||||
static DISPATCH_PROC(ProcXDGADispatch);
|
|
||||||
static DISPATCH_PROC(SProcXDGADispatch);
|
|
||||||
static DISPATCH_PROC(ProcXDGAQueryVersion);
|
|
||||||
@@ -141,7 +145,7 @@ ProcXDGAOpenFramebuffer(ClientPtr client)
|
|
||||||
if (stuff->screen > screenInfo.numScreens)
|
|
||||||
return BadValue;
|
|
||||||
|
|
||||||
- if (!DGAAvailable(stuff->screen))
|
|
||||||
+ if (!DGAAvailable(stuff->screen))
|
|
||||||
return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq);
|
|
||||||
@@ -149,9 +153,9 @@ ProcXDGAOpenFramebuffer(ClientPtr client)
|
|
||||||
rep.length = 0;
|
|
||||||
rep.sequenceNumber = client->sequence;
|
|
||||||
|
|
||||||
- if(!DGAOpenFramebuffer(stuff->screen, &deviceName,
|
|
||||||
+ if(!DGAOpenFramebuffer(stuff->screen, &deviceName,
|
|
||||||
(unsigned char**)(&rep.mem1),
|
|
||||||
- (int*)&rep.size, (int*)&rep.offset, (int*)&rep.extra))
|
|
||||||
+ (int*)&rep.size, (int*)&rep.offset, (int*)&rep.extra))
|
|
||||||
{
|
|
||||||
return BadAlloc;
|
|
||||||
}
|
|
||||||
@@ -175,7 +179,7 @@ ProcXDGACloseFramebuffer(ClientPtr client)
|
|
||||||
if (stuff->screen > screenInfo.numScreens)
|
|
||||||
return BadValue;
|
|
||||||
|
|
||||||
- if (!DGAAvailable(stuff->screen))
|
|
||||||
+ if (!DGAAvailable(stuff->screen))
|
|
||||||
return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq);
|
|
||||||
@@ -259,7 +263,7 @@ ProcXDGAQueryModes(ClientPtr client)
|
|
||||||
info.viewport_flags = mode[i].viewportFlags;
|
|
||||||
info.reserved1 = mode[i].reserved1;
|
|
||||||
info.reserved2 = mode[i].reserved2;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
WriteToClient(client, sz_xXDGAModeInfo, (char*)(&info));
|
|
||||||
WriteToClient(client, size, mode[i].name);
|
|
||||||
}
|
|
||||||
@@ -270,7 +274,7 @@ ProcXDGAQueryModes(ClientPtr client)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-static void
|
|
||||||
+static void
|
|
||||||
DGAClientStateChange (
|
|
||||||
CallbackListPtr* pcbl,
|
|
||||||
pointer nulldata,
|
|
||||||
@@ -287,7 +291,7 @@ DGAClientStateChange (
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if(client &&
|
|
||||||
+ if(client &&
|
|
||||||
((client->clientState == ClientStateGone) ||
|
|
||||||
(client->clientState == ClientStateRetained))) {
|
|
||||||
XDGAModeRec mode;
|
|
||||||
@@ -322,10 +326,10 @@ ProcXDGASetMode(ClientPtr client)
|
|
||||||
rep.flags = 0;
|
|
||||||
rep.sequenceNumber = client->sequence;
|
|
||||||
|
|
||||||
- if (!DGAAvailable(stuff->screen))
|
|
||||||
+ if (!DGAAvailable(stuff->screen))
|
|
||||||
return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
|
|
||||||
- if(DGAClients[stuff->screen] &&
|
|
||||||
+ if(DGAClients[stuff->screen] &&
|
|
||||||
(DGAClients[stuff->screen] != client))
|
|
||||||
return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
|
|
||||||
@@ -339,7 +343,7 @@ ProcXDGASetMode(ClientPtr client)
|
|
||||||
DGASetMode(stuff->screen, 0, &mode, &pPix);
|
|
||||||
WriteToClient(client, sz_xXDGASetModeReply, (char*)&rep);
|
|
||||||
return (client->noClientException);
|
|
||||||
- }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if(Success != DGASetMode(stuff->screen, stuff->mode, &mode, &pPix))
|
|
||||||
return BadValue;
|
|
||||||
@@ -359,7 +363,7 @@ ProcXDGASetMode(ClientPtr client)
|
|
||||||
}
|
|
||||||
|
|
||||||
size = strlen(mode.name) + 1;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
info.byte_order = mode.byteOrder;
|
|
||||||
info.depth = mode.depth;
|
|
||||||
info.num = mode.num;
|
|
||||||
@@ -427,7 +431,7 @@ ProcXDGAInstallColormap(ClientPtr client)
|
|
||||||
return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGAInstallColormapReq);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
cmap = (ColormapPtr)LookupIDByType(stuff->cmap, RT_COLORMAP);
|
|
||||||
if (cmap) {
|
|
||||||
DGAInstallCmap(cmap);
|
|
||||||
@@ -453,7 +457,7 @@ ProcXDGASelectInput(ClientPtr client)
|
|
||||||
return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGASelectInputReq);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
if(DGAClients[stuff->screen] == client)
|
|
||||||
DGASelectInput(stuff->screen, client, stuff->mask);
|
|
||||||
|
|
||||||
@@ -473,7 +477,7 @@ ProcXDGAFillRectangle(ClientPtr client)
|
|
||||||
return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGAFillRectangleReq);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
if(Success != DGAFillRect(stuff->screen, stuff->x, stuff->y,
|
|
||||||
stuff->width, stuff->height, stuff->color))
|
|
||||||
return BadMatch;
|
|
||||||
@@ -493,7 +497,7 @@ ProcXDGACopyArea(ClientPtr client)
|
|
||||||
return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGACopyAreaReq);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
if(Success != DGABlitRect(stuff->screen, stuff->srcx, stuff->srcy,
|
|
||||||
stuff->width, stuff->height, stuff->dstx, stuff->dsty))
|
|
||||||
return BadMatch;
|
|
||||||
@@ -514,7 +518,7 @@ ProcXDGACopyTransparentArea(ClientPtr client)
|
|
||||||
return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
if(Success != DGABlitTransRect(stuff->screen, stuff->srcx, stuff->srcy,
|
|
||||||
stuff->width, stuff->height, stuff->dstx, stuff->dsty, stuff->key))
|
|
||||||
return BadMatch;
|
|
||||||
@@ -607,7 +611,7 @@ ProcXDGAChangePixmapMode(ClientPtr client)
|
|
||||||
rep.type = X_Reply;
|
|
||||||
rep.length = 0;
|
|
||||||
rep.sequenceNumber = client->sequence;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
x = stuff->x;
|
|
||||||
y = stuff->y;
|
|
||||||
|
|
||||||
@@ -638,8 +642,8 @@ ProcXDGACreateColormap(ClientPtr client)
|
|
||||||
|
|
||||||
if(!stuff->mode)
|
|
||||||
return BadValue;
|
|
||||||
-
|
|
||||||
- result = DGACreateColormap(stuff->screen, client, stuff->id,
|
|
||||||
+
|
|
||||||
+ result = DGACreateColormap(stuff->screen, client, stuff->id,
|
|
||||||
stuff->mode, stuff->alloc);
|
|
||||||
if(result != Success)
|
|
||||||
return result;
|
|
||||||
@@ -647,6 +651,262 @@ ProcXDGACreateColormap(ClientPtr client)
|
|
||||||
return (client->noClientException);
|
|
||||||
}
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ *
|
|
||||||
+ * Support for the old DGA protocol, used to live in xf86dga.c
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifdef DGA_PROTOCOL_OLD_SUPPORT
|
|
||||||
+
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGADirectVideo);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGAGetVidPage);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGAGetVideoLL);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGAGetViewPortSize);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGASetVidPage);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGASetViewPort);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGAInstallColormap);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGAQueryDirectVideo);
|
|
||||||
+static DISPATCH_PROC(ProcXF86DGAViewPortChanged);
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGAGetVideoLL(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ REQUEST(xXF86DGAGetVideoLLReq);
|
|
||||||
+ xXF86DGAGetVideoLLReply rep;
|
|
||||||
+ XDGAModeRec mode;
|
|
||||||
+ int num, offset, flags;
|
|
||||||
+ char *name;
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq);
|
|
||||||
+ rep.type = X_Reply;
|
|
||||||
+ rep.length = 0;
|
|
||||||
+ rep.sequenceNumber = client->sequence;
|
|
||||||
+
|
|
||||||
+ if(!DGAAvailable(stuff->screen))
|
|
||||||
+ return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
+
|
|
||||||
+ if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
+ return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
+
|
|
||||||
+ /* get the parameters for the mode that best matches */
|
|
||||||
+ DGAGetModeInfo(stuff->screen, &mode, num);
|
|
||||||
+
|
|
||||||
+ if(!DGAOpenFramebuffer(stuff->screen, &name,
|
|
||||||
+ (unsigned char**)(&rep.offset),
|
|
||||||
+ (int*)(&rep.bank_size), &offset, &flags))
|
|
||||||
+ return BadAlloc;
|
|
||||||
+
|
|
||||||
+ rep.offset += mode.offset;
|
|
||||||
+ rep.width = mode.bytesPerScanline / (mode.bitsPerPixel >> 3);
|
|
||||||
+ rep.ram_size = rep.bank_size >> 10;
|
|
||||||
+
|
|
||||||
+ WriteToClient(client, SIZEOF(xXF86DGAGetVideoLLReply), (char *)&rep);
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGADirectVideo(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ int num;
|
|
||||||
+ PixmapPtr pix;
|
|
||||||
+ XDGAModeRec mode;
|
|
||||||
+ REQUEST(xXF86DGADirectVideoReq);
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq);
|
|
||||||
+
|
|
||||||
+ if (!DGAAvailable(stuff->screen))
|
|
||||||
+ return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
+
|
|
||||||
+ if (stuff->enable & XF86DGADirectGraphics) {
|
|
||||||
+ if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
+ return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
+ } else
|
|
||||||
+ num = 0;
|
|
||||||
+
|
|
||||||
+ if(Success != DGASetMode(stuff->screen, num, &mode, &pix))
|
|
||||||
+ return (DGAErrorBase + XF86DGAScreenNotActive);
|
|
||||||
+
|
|
||||||
+ DGASetInputMode (stuff->screen,
|
|
||||||
+ (stuff->enable & XF86DGADirectKeyb) != 0,
|
|
||||||
+ (stuff->enable & XF86DGADirectMouse) != 0);
|
|
||||||
+
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGAGetViewPortSize(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ int num;
|
|
||||||
+ XDGAModeRec mode;
|
|
||||||
+ REQUEST(xXF86DGAGetViewPortSizeReq);
|
|
||||||
+ xXF86DGAGetViewPortSizeReply rep;
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq);
|
|
||||||
+ rep.type = X_Reply;
|
|
||||||
+ rep.length = 0;
|
|
||||||
+ rep.sequenceNumber = client->sequence;
|
|
||||||
+
|
|
||||||
+ if (!DGAAvailable(stuff->screen))
|
|
||||||
+ return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
+
|
|
||||||
+ if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
+ return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
+
|
|
||||||
+ DGAGetModeInfo(stuff->screen, &mode, num);
|
|
||||||
+
|
|
||||||
+ rep.width = mode.viewportWidth;
|
|
||||||
+ rep.height = mode.viewportHeight;
|
|
||||||
+
|
|
||||||
+ WriteToClient(client, SIZEOF(xXF86DGAGetViewPortSizeReply), (char *)&rep);
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGASetViewPort(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ REQUEST(xXF86DGASetViewPortReq);
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq);
|
|
||||||
+
|
|
||||||
+ if (!DGAAvailable(stuff->screen))
|
|
||||||
+ return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
+
|
|
||||||
+ if (!DGAActive(stuff->screen))
|
|
||||||
+ {
|
|
||||||
+ int num;
|
|
||||||
+ PixmapPtr pix;
|
|
||||||
+ XDGAModeRec mode;
|
|
||||||
+
|
|
||||||
+ if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
+ return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
+ if(Success != DGASetMode(stuff->screen, num, &mode, &pix))
|
|
||||||
+ return (DGAErrorBase + XF86DGAScreenNotActive);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (DGASetViewport(stuff->screen, stuff->x, stuff->y, DGA_FLIP_RETRACE)
|
|
||||||
+ != Success)
|
|
||||||
+ return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
+
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGAGetVidPage(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ REQUEST(xXF86DGAGetVidPageReq);
|
|
||||||
+ xXF86DGAGetVidPageReply rep;
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq);
|
|
||||||
+ rep.type = X_Reply;
|
|
||||||
+ rep.length = 0;
|
|
||||||
+ rep.sequenceNumber = client->sequence;
|
|
||||||
+ rep.vpage = 0; /* silently fail */
|
|
||||||
+
|
|
||||||
+ WriteToClient(client, SIZEOF(xXF86DGAGetVidPageReply), (char *)&rep);
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGASetVidPage(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ REQUEST(xXF86DGASetVidPageReq);
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq);
|
|
||||||
+
|
|
||||||
+ /* silently fail */
|
|
||||||
+
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGAInstallColormap(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ ColormapPtr pcmp;
|
|
||||||
+ REQUEST(xXF86DGAInstallColormapReq);
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq);
|
|
||||||
+
|
|
||||||
+ if (!DGAActive(stuff->screen))
|
|
||||||
+ return (DGAErrorBase + XF86DGADirectNotActivated);
|
|
||||||
+
|
|
||||||
+ pcmp = (ColormapPtr )LookupIDByType(stuff->id, RT_COLORMAP);
|
|
||||||
+ if (pcmp) {
|
|
||||||
+ DGAInstallCmap(pcmp);
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+ } else {
|
|
||||||
+ client->errorValue = stuff->id;
|
|
||||||
+ return (BadColor);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGAQueryDirectVideo(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ REQUEST(xXF86DGAQueryDirectVideoReq);
|
|
||||||
+ xXF86DGAQueryDirectVideoReply rep;
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq);
|
|
||||||
+ rep.type = X_Reply;
|
|
||||||
+ rep.length = 0;
|
|
||||||
+ rep.sequenceNumber = client->sequence;
|
|
||||||
+ rep.flags = 0;
|
|
||||||
+
|
|
||||||
+ if (DGAAvailable(stuff->screen))
|
|
||||||
+ rep.flags = XF86DGADirectPresent;
|
|
||||||
+
|
|
||||||
+ WriteToClient(client, SIZEOF(xXF86DGAQueryDirectVideoReply), (char *)&rep);
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+ProcXF86DGAViewPortChanged(ClientPtr client)
|
|
||||||
+{
|
|
||||||
+ REQUEST(xXF86DGAViewPortChangedReq);
|
|
||||||
+ xXF86DGAViewPortChangedReply rep;
|
|
||||||
+
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq);
|
|
||||||
+
|
|
||||||
+ if (!DGAActive(stuff->screen))
|
|
||||||
+ return (DGAErrorBase + XF86DGADirectNotActivated);
|
|
||||||
+
|
|
||||||
+ rep.type = X_Reply;
|
|
||||||
+ rep.length = 0;
|
|
||||||
+ rep.sequenceNumber = client->sequence;
|
|
||||||
+ rep.result = 1;
|
|
||||||
+
|
|
||||||
+ WriteToClient(client, SIZEOF(xXF86DGAViewPortChangedReply), (char *)&rep);
|
|
||||||
+ return (client->noClientException);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#endif /* DGA_PROTOCOL_OLD_SUPPORT */
|
|
||||||
|
|
||||||
static int
|
|
||||||
SProcXDGADispatch (ClientPtr client)
|
|
||||||
@@ -702,15 +962,11 @@ ProcXDGADispatch (ClientPtr client)
|
|
||||||
if (stuff->data <= X_XDGACreateColormap)
|
|
||||||
fprintf (stderr, " DGA %s\n", dgaMinor[stuff->data]);
|
|
||||||
#endif
|
|
||||||
-
|
|
||||||
- /* divert old protocol */
|
|
||||||
-#if 1
|
|
||||||
- if( (stuff->data <= X_XF86DGAViewPortChanged) &&
|
|
||||||
- (stuff->data >= X_XF86DGAGetVideoLL))
|
|
||||||
- return ProcXF86DGADispatch(client);
|
|
||||||
-#endif
|
|
||||||
|
|
||||||
switch (stuff->data){
|
|
||||||
+ /*
|
|
||||||
+ * DGA2 Protocol
|
|
||||||
+ */
|
|
||||||
case X_XDGAQueryVersion:
|
|
||||||
return ProcXDGAQueryVersion(client);
|
|
||||||
case X_XDGAQueryModes:
|
|
||||||
@@ -743,6 +999,29 @@ ProcXDGADispatch (ClientPtr client)
|
|
||||||
return ProcXDGAChangePixmapMode(client);
|
|
||||||
case X_XDGACreateColormap:
|
|
||||||
return ProcXDGACreateColormap(client);
|
|
||||||
+ /*
|
|
||||||
+ * Old DGA Protocol
|
|
||||||
+ */
|
|
||||||
+#ifdef DGA_PROTOCOL_OLD_SUPPORT
|
|
||||||
+ case X_XF86DGAGetVideoLL:
|
|
||||||
+ return ProcXF86DGAGetVideoLL(client);
|
|
||||||
+ case X_XF86DGADirectVideo:
|
|
||||||
+ return ProcXF86DGADirectVideo(client);
|
|
||||||
+ case X_XF86DGAGetViewPortSize:
|
|
||||||
+ return ProcXF86DGAGetViewPortSize(client);
|
|
||||||
+ case X_XF86DGASetViewPort:
|
|
||||||
+ return ProcXF86DGASetViewPort(client);
|
|
||||||
+ case X_XF86DGAGetVidPage:
|
|
||||||
+ return ProcXF86DGAGetVidPage(client);
|
|
||||||
+ case X_XF86DGASetVidPage:
|
|
||||||
+ return ProcXF86DGASetVidPage(client);
|
|
||||||
+ case X_XF86DGAInstallColormap:
|
|
||||||
+ return ProcXF86DGAInstallColormap(client);
|
|
||||||
+ case X_XF86DGAQueryDirectVideo:
|
|
||||||
+ return ProcXF86DGAQueryDirectVideo(client);
|
|
||||||
+ case X_XF86DGAViewPortChanged:
|
|
||||||
+ return ProcXF86DGAViewPortChanged(client);
|
|
||||||
+#endif /* DGA_PROTOCOL_OLD_SUPPORT */
|
|
||||||
default:
|
|
||||||
return BadRequest;
|
|
||||||
}
|
|
||||||
@@ -751,5 +1030,5 @@ ProcXDGADispatch (ClientPtr client)
|
|
||||||
void
|
|
||||||
XFree86DGARegister(INITARGS)
|
|
||||||
{
|
|
||||||
- XDGAEventBase = &DGAEventBase;
|
|
||||||
+ XDGAEventBase = &DGAEventBase;
|
|
||||||
}
|
|
||||||
commit 2d9da7a5f384d5f38b2be79b1ea0df5a3deb52d1
|
|
||||||
Author: Luc Verhaegen <libv@skynet.be>
|
|
||||||
Date: Thu Oct 9 22:22:53 2008 +0200
|
|
||||||
|
|
||||||
DGA: Track client state even when using old style DGA.
|
|
||||||
|
|
||||||
This fixes the issue that a badly killed DGA will keep on hogging
|
|
||||||
mode/framebuffer/mouse/keyboard.
|
|
||||||
|
|
||||||
diff --git a/hw/xfree86/dixmods/extmod/xf86dga2.c b/hw/xfree86/dixmods/extmod/xf86dga2.c
|
|
||||||
index 100bde9..df0030e 100644
|
|
||||||
--- a/hw/xfree86/dixmods/extmod/xf86dga2.c
|
|
||||||
+++ b/hw/xfree86/dixmods/extmod/xf86dga2.c
|
|
||||||
@@ -725,6 +725,10 @@ ProcXF86DGADirectVideo(ClientPtr client)
|
|
||||||
if (!DGAAvailable(stuff->screen))
|
|
||||||
return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
|
|
||||||
+ if (DGAClients[stuff->screen] &&
|
|
||||||
+ (DGAClients[stuff->screen] != client))
|
|
||||||
+ return DGAErrorBase + XF86DGANoDirectVideoMode;
|
|
||||||
+
|
|
||||||
if (stuff->enable & XF86DGADirectGraphics) {
|
|
||||||
if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
@@ -738,6 +742,24 @@ ProcXF86DGADirectVideo(ClientPtr client)
|
|
||||||
(stuff->enable & XF86DGADirectKeyb) != 0,
|
|
||||||
(stuff->enable & XF86DGADirectMouse) != 0);
|
|
||||||
|
|
||||||
+ /* We need to track the client and attach the teardown callback */
|
|
||||||
+ if (stuff->enable &
|
|
||||||
+ (XF86DGADirectGraphics | XF86DGADirectKeyb | XF86DGADirectMouse)) {
|
|
||||||
+ if (!DGAClients[stuff->screen]) {
|
|
||||||
+ if (DGACallbackRefCount++ == 0)
|
|
||||||
+ AddCallback (&ClientStateCallback, DGAClientStateChange, NULL);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ DGAClients[stuff->screen] = client;
|
|
||||||
+ } else {
|
|
||||||
+ if (DGAClients[stuff->screen]) {
|
|
||||||
+ if (--DGACallbackRefCount == 0)
|
|
||||||
+ DeleteCallback(&ClientStateCallback, DGAClientStateChange, NULL);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ DGAClients[stuff->screen] = NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return (client->noClientException);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -780,22 +802,16 @@ ProcXF86DGASetViewPort(ClientPtr client)
|
|
||||||
if (stuff->screen > screenInfo.numScreens)
|
|
||||||
return BadValue;
|
|
||||||
|
|
||||||
+ if (DGAClients[stuff->screen] != client)
|
|
||||||
+ return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
+
|
|
||||||
REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq);
|
|
||||||
|
|
||||||
if (!DGAAvailable(stuff->screen))
|
|
||||||
return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
|
|
||||||
if (!DGAActive(stuff->screen))
|
|
||||||
- {
|
|
||||||
- int num;
|
|
||||||
- PixmapPtr pix;
|
|
||||||
- XDGAModeRec mode;
|
|
||||||
-
|
|
||||||
- if(!(num = DGAGetOldDGAMode(stuff->screen)))
|
|
||||||
- return (DGAErrorBase + XF86DGANoDirectVideoMode);
|
|
||||||
- if(Success != DGASetMode(stuff->screen, num, &mode, &pix))
|
|
||||||
- return (DGAErrorBase + XF86DGAScreenNotActive);
|
|
||||||
- }
|
|
||||||
+ return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
|
|
||||||
if (DGASetViewport(stuff->screen, stuff->x, stuff->y, DGA_FLIP_RETRACE)
|
|
||||||
!= Success)
|
|
||||||
@@ -846,6 +862,12 @@ ProcXF86DGAInstallColormap(ClientPtr client)
|
|
||||||
ColormapPtr pcmp;
|
|
||||||
REQUEST(xXF86DGAInstallColormapReq);
|
|
||||||
|
|
||||||
+ if (stuff->screen > screenInfo.numScreens)
|
|
||||||
+ return BadValue;
|
|
||||||
+
|
|
||||||
+ if (DGAClients[stuff->screen] != client)
|
|
||||||
+ return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
+
|
|
||||||
REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq);
|
|
||||||
|
|
||||||
if (!DGAActive(stuff->screen))
|
|
||||||
@@ -892,6 +914,9 @@ ProcXF86DGAViewPortChanged(ClientPtr client)
|
|
||||||
if (stuff->screen > screenInfo.numScreens)
|
|
||||||
return BadValue;
|
|
||||||
|
|
||||||
+ if (DGAClients[stuff->screen] != client)
|
|
||||||
+ return DGAErrorBase + XF86DGADirectNotActivated;
|
|
||||||
+
|
|
||||||
REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq);
|
|
||||||
|
|
||||||
if (!DGAActive(stuff->screen))
|
|
12
fbdevhw.diff
12
fbdevhw.diff
@ -1,15 +1,3 @@
|
|||||||
--- hw/xfree86/fbdevhw/fbdevhw.c.orig 2007-09-03 20:48:47.000000000 +0000
|
|
||||||
+++ hw/xfree86/fbdevhw/fbdevhw.c 2007-09-03 20:53:12.000000000 +0000
|
|
||||||
@@ -245,7 +245,8 @@
|
|
||||||
set->green.length == req->green.length &&
|
|
||||||
set->blue.length == req->blue.length &&
|
|
||||||
set->xres == req->xres && set->yres == req->yres &&
|
|
||||||
- set->pixclock == req->pixclock &&
|
|
||||||
+ /* xenfb sets pixclock to 0 (Novell Bug #285523) */
|
|
||||||
+ ((set->pixclock == req->pixclock) || !set->pixclock) &&
|
|
||||||
set->right_margin == req->right_margin &&
|
|
||||||
set->hsync_len == req->hsync_len &&
|
|
||||||
set->left_margin == req->left_margin &&
|
|
||||||
--- hw/xfree86/fbdevhw/fbdevhw.c.orig 2008-04-20 03:06:32.000000000 +0000
|
--- hw/xfree86/fbdevhw/fbdevhw.c.orig 2008-04-20 03:06:32.000000000 +0000
|
||||||
+++ hw/xfree86/fbdevhw/fbdevhw.c 2008-04-20 03:30:00.000000000 +0000
|
+++ hw/xfree86/fbdevhw/fbdevhw.c 2008-04-20 03:30:00.000000000 +0000
|
||||||
@@ -923,9 +923,10 @@ fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mo
|
@@ -923,9 +923,10 @@ fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mo
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
--- mi/mipointer.c.orig 2008-10-17 15:46:26.000000000 +0200
|
|
||||||
+++ mi/mipointer.c 2008-10-17 15:47:11.000000000 +0200
|
|
||||||
@@ -252,7 +252,7 @@ miPointerWarpCursor (pScreen, x, y)
|
|
||||||
{
|
|
||||||
miPointer.devx = x;
|
|
||||||
miPointer.devy = y;
|
|
||||||
- if(!miPointer.pCursor->bits->emptyMask)
|
|
||||||
+ if(miPointer.pCursor && !miPointer.pCursor->bits->emptyMask)
|
|
||||||
(*pScreenPriv->spriteFuncs->MoveCursor) (pScreen, x, y);
|
|
||||||
}
|
|
||||||
miPointer.x = x;
|
|
||||||
@@ -345,7 +345,7 @@ miPointerUpdateSprite (DeviceIntPtr pDev
|
|
||||||
{
|
|
||||||
miPointer.devx = x;
|
|
||||||
miPointer.devy = y;
|
|
||||||
- if(!miPointer.pCursor->bits->emptyMask)
|
|
||||||
+ if(miPointer.pCursor && !miPointer.pCursor->bits->emptyMask)
|
|
||||||
(*pScreenPriv->spriteFuncs->MoveCursor) (pScreen, x, y);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -416,7 +416,7 @@ miPointerMoved (DeviceIntPtr pDev, Scree
|
|
||||||
{
|
|
||||||
miPointer.devx = x;
|
|
||||||
miPointer.devy = y;
|
|
||||||
- if(!miPointer.pCursor->bits->emptyMask)
|
|
||||||
+ if(miPointer.pCursor && !miPointer.pCursor->bits->emptyMask)
|
|
||||||
(*pScreenPriv->spriteFuncs->MoveCursor) (pScreen, x, y);
|
|
||||||
}
|
|
||||||
|
|
@ -24,19 +24,19 @@ diff -u -r1.5 VTsw_usl.c
|
|||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
--- linux/lnx_init.c.orig 2007-08-23 21:04:53.000000000 +0200
|
--- linux/lnx_init.c.orig 2009-02-27 15:41:39.000000000 +0100
|
||||||
+++ linux/lnx_init.c 2007-09-29 16:19:53.771798500 +0200
|
+++ linux/lnx_init.c 2009-02-27 15:41:47.000000000 +0100
|
||||||
@@ -240,9 +240,6 @@
|
@@ -252,9 +252,6 @@ xf86OpenConsole(void)
|
||||||
|
|
||||||
if (!ShareVTs)
|
|
||||||
{
|
{
|
||||||
|
struct termios nTty;
|
||||||
|
|
||||||
-#if defined(DO_OS_FONTRESTORE)
|
-#if defined(DO_OS_FONTRESTORE)
|
||||||
- lnx_savefont();
|
- lnx_savefont();
|
||||||
-#endif
|
-#endif
|
||||||
/*
|
/*
|
||||||
* now get the VT. This _must_ succeed, or else fail completely.
|
* now get the VT. This _must_ succeed, or else fail completely.
|
||||||
*/
|
*/
|
||||||
@@ -254,6 +251,10 @@
|
@@ -266,6 +263,10 @@ xf86OpenConsole(void)
|
||||||
FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n",
|
FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ diff -u -r1.5 VTsw_usl.c
|
|||||||
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
|
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
|
||||||
FatalError("xf86OpenConsole: VT_GETMODE failed %s\n",
|
FatalError("xf86OpenConsole: VT_GETMODE failed %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
@@ -342,6 +343,11 @@
|
@@ -384,6 +385,11 @@ xf86CloseConsole()
|
||||||
|
|
||||||
if (VTSwitch)
|
if (VTSwitch)
|
||||||
{
|
{
|
||||||
@ -59,7 +59,7 @@ diff -u -r1.5 VTsw_usl.c
|
|||||||
/*
|
/*
|
||||||
* Perform a switch back to the active VT when we were started
|
* Perform a switch back to the active VT when we were started
|
||||||
*/
|
*/
|
||||||
@@ -356,11 +362,6 @@
|
@@ -398,11 +404,6 @@ xf86CloseConsole()
|
||||||
activeVT = -1;
|
activeVT = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
Index: programs/Xserver/hw/xfree86/common/xf86MiscExt.c
|
|
||||||
===================================================================
|
|
||||||
RCS file: /home/eich/cvs/xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c,v
|
|
||||||
retrieving revision 1.1.1.15
|
|
||||||
diff -u -r1.1.1.15 xf86MiscExt.c
|
|
||||||
--- programs/Xserver/hw/xfree86/common/xf86MiscExt.c 6 Jul 2004 15:12:40 -0000 1.1.1.15
|
|
||||||
+++ programs/Xserver/hw/xfree86/common/xf86MiscExt.c 17 Mar 2005 18:39:52 -0000
|
|
||||||
@@ -166,6 +166,11 @@
|
|
||||||
*devname = xf86FindOptionValue(pInfo->options, "Device");
|
|
||||||
pMse = pInfo->private;
|
|
||||||
|
|
||||||
+ if (pMse->magic != MOUSE_MAGIC
|
|
||||||
+ || pMse->size != sizeof(*pMse))
|
|
||||||
+ return FALSE;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
mseptr->type = MapMseProtoToMisc(pMse->protocolID);
|
|
||||||
mseptr->baudrate = pMse->baudRate;
|
|
||||||
mseptr->samplerate = pMse->sampleRate;
|
|
||||||
@@ -533,6 +538,11 @@
|
|
||||||
|
|
||||||
pInfo = mse->private;
|
|
||||||
pMse = pInfo->private;
|
|
||||||
+
|
|
||||||
+ if (pMse->magic != MOUSE_MAGIC
|
|
||||||
+ || pMse->size != sizeof(*pMse))
|
|
||||||
+ return MISC_RET_NOMODULE;
|
|
||||||
+
|
|
||||||
oldflags = pMse->mouseFlags;
|
|
||||||
|
|
||||||
newProtocol = MapMseMiscToProto(mse->type);
|
|
||||||
Index: programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h
|
|
||||||
===================================================================
|
|
||||||
RCS file: /home/eich/cvs/xc/programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h,v
|
|
||||||
retrieving revision 1.1.1.21
|
|
||||||
diff -u -r1.1.1.21 xf86OSmouse.h
|
|
||||||
--- programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h 1 Nov 2004 16:46:39 -0000 1.1.1.21
|
|
||||||
+++ programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h 17 Mar 2005 18:39:52 -0000
|
|
||||||
@@ -204,7 +204,11 @@
|
|
||||||
int dx, int dy, int dz, int dw);
|
|
||||||
typedef void (*MouseCommonOptProc)(InputInfoPtr pInfo);
|
|
||||||
|
|
||||||
+#define MOUSE_MAGIC 15031995
|
|
||||||
+
|
|
||||||
typedef struct _MouseDevRec {
|
|
||||||
+ unsigned long magic;
|
|
||||||
+ int size;
|
|
||||||
PtrCtrlProcPtr Ctrl;
|
|
||||||
PostMseEventProc PostEvent;
|
|
||||||
MouseCommonOptProc CommonOptions;
|
|
218
ps_showopts.diff
218
ps_showopts.diff
@ -1,218 +0,0 @@
|
|||||||
--- hw/xfree86/common/Makefile.am.orig 2008-05-21 23:51:52.000000000 +0200
|
|
||||||
+++ hw/xfree86/common/Makefile.am 2008-06-16 17:42:56.000000000 +0200
|
|
||||||
@@ -29,7 +29,7 @@
|
|
||||||
BUILT_SOURCES = xf86DefModeSet.c
|
|
||||||
|
|
||||||
AM_LDFLAGS = -r
|
|
||||||
-libcommon_la_SOURCES = xf86Configure.c xf86Bus.c xf86Config.c \
|
|
||||||
+libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \
|
|
||||||
xf86Cursor.c xf86DGA.c xf86DPMS.c \
|
|
||||||
xf86DoProbe.c xf86Events.c \
|
|
||||||
xf86Globals.c xf86AutoConfig.c \
|
|
||||||
--- hw/xfree86/common.orig/xf86.h 2006-08-06 18:01:51.000000000 +0200
|
|
||||||
+++ hw/xfree86/common/xf86.h 2006-08-06 18:05:18.000000000 +0200
|
|
||||||
@@ -48,6 +48,7 @@
|
|
||||||
|
|
||||||
/* General parameters */
|
|
||||||
extern int xf86DoConfigure;
|
|
||||||
+extern int xf86DoShowOptions;
|
|
||||||
extern Bool xf86DoConfigurePass1;
|
|
||||||
extern int xf86ScreenIndex; /* Index into pScreen.devPrivates */
|
|
||||||
extern int xf86CreateRootWindowIndex; /* Index into pScreen.devPrivates */
|
|
||||||
--- hw/xfree86/common.orig/xf86Globals.c 2006-08-06 18:01:51.000000000 +0200
|
|
||||||
+++ hw/xfree86/common/xf86Globals.c 2006-08-06 18:05:49.000000000 +0200
|
|
||||||
@@ -188,6 +188,7 @@
|
|
||||||
Bool xf86ProbeFailed = FALSE;
|
|
||||||
Bool xf86DoProbe = FALSE;
|
|
||||||
Bool xf86DoConfigure = FALSE;
|
|
||||||
+Bool xf86DoShowOptions = FALSE;
|
|
||||||
DriverPtr *xf86DriverList = NULL;
|
|
||||||
int xf86NumDrivers = 0;
|
|
||||||
InputDriverPtr *xf86InputDriverList = NULL;
|
|
||||||
--- hw/xfree86/common/xf86Init.c.orig 2008-05-21 23:51:52.000000000 +0200
|
|
||||||
+++ hw/xfree86/common/xf86Init.c 2008-06-16 17:48:54.000000000 +0200
|
|
||||||
@@ -500,7 +500,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Read and parse the config file */
|
|
||||||
- if (!xf86DoProbe && !xf86DoConfigure) {
|
|
||||||
+ if (!xf86DoProbe && !xf86DoConfigure && !xf86DoShowOptions) {
|
|
||||||
switch (xf86HandleConfigFile(FALSE)) {
|
|
||||||
case CONFIG_OK:
|
|
||||||
break;
|
|
||||||
@@ -526,6 +526,9 @@
|
|
||||||
LoaderSetOptions(LDR_OPT_ABI_MISMATCH_NONFATAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (xf86DoShowOptions)
|
|
||||||
+ DoShowOptions();
|
|
||||||
+
|
|
||||||
xf86OpenConsole();
|
|
||||||
|
|
||||||
/* Do a general bus probe. This will be a PCI probe for x86 platforms */
|
|
||||||
@@ -1680,6 +1683,15 @@
|
|
||||||
xf86AllowMouseOpenFail = TRUE;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
+ if (!strcmp(argv[i], "-showopts"))
|
|
||||||
+ {
|
|
||||||
+ if (getuid() != 0 && geteuid() == 0) {
|
|
||||||
+ ErrorF("The '-showopts' option can only be used by root.\n");
|
|
||||||
+ exit(1);
|
|
||||||
+ }
|
|
||||||
+ xf86DoShowOptions = TRUE;
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
if (!strcmp(argv[i], "-isolateDevice"))
|
|
||||||
{
|
|
||||||
int bus, device, func;
|
|
||||||
@@ -1723,6 +1735,7 @@
|
|
||||||
ErrorF("-modulepath paths specify the module search path\n");
|
|
||||||
ErrorF("-logfile file specify a log file name\n");
|
|
||||||
ErrorF("-configure probe for devices and write an "__XCONFIGFILE__"\n");
|
|
||||||
+ ErrorF("-showopts print available options for all installed drivers\n");
|
|
||||||
}
|
|
||||||
ErrorF("-config file specify a configuration file, relative to the\n");
|
|
||||||
ErrorF(" "__XCONFIGFILE__" search path, only root can use absolute\n");
|
|
||||||
--- hw/xfree86/common.orig/xf86Priv.h 2006-08-06 18:01:51.000000000 +0200
|
|
||||||
+++ hw/xfree86/common/xf86Priv.h 2006-08-06 18:02:03.000000000 +0200
|
|
||||||
@@ -169,6 +169,7 @@
|
|
||||||
/* xf86DoProbe.c */
|
|
||||||
void DoProbe(void);
|
|
||||||
void DoConfigure(void);
|
|
||||||
+void DoShowOptions(void);
|
|
||||||
|
|
||||||
/* xf86Events.c */
|
|
||||||
|
|
||||||
--- hw/xfree86/common.orig/xf86ShowOpts.c 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ hw/xfree86/common/xf86ShowOpts.c 2006-08-06 18:02:03.000000000 +0200
|
|
||||||
@@ -0,0 +1,129 @@
|
|
||||||
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86ShopwOpts.c,v 3.80 2003/10/08 14:58:27 dawes Exp $ */
|
|
||||||
+/*
|
|
||||||
+ * Copyright 2000-2002 by Alan Hourihane, Flint Mountain, North Wales.
|
|
||||||
+ *
|
|
||||||
+ * Permission to use, copy, modify, distribute, and sell this software and its
|
|
||||||
+ * documentation for any purpose is hereby granted without fee, provided that
|
|
||||||
+ * the above copyright notice appear in all copies and that both that
|
|
||||||
+ * copyright notice and this permission notice appear in supporting
|
|
||||||
+ * documentation, and that the name of Alan Hourihane not be used in
|
|
||||||
+ * advertising or publicity pertaining to distribution of the software without
|
|
||||||
+ * specific, written prior permission. Alan Hourihane makes no representations
|
|
||||||
+ * about the suitability of this software for any purpose. It is provided
|
|
||||||
+ * "as is" without express or implied warranty.
|
|
||||||
+ *
|
|
||||||
+ * ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
||||||
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
||||||
+ * EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
||||||
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
||||||
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
||||||
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
||||||
+ * PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
+ *
|
|
||||||
+ * Author: Marcus Schaefer, ms@suse.de
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include <ctype.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#include <unistd.h>
|
|
||||||
+#include <sys/types.h>
|
|
||||||
+#include <sys/stat.h>
|
|
||||||
+#include <fcntl.h>
|
|
||||||
+#include <X11/X.h>
|
|
||||||
+#include <X11/Xmd.h>
|
|
||||||
+#include "os.h"
|
|
||||||
+#ifdef XFree86LOADER
|
|
||||||
+#include "loaderProcs.h"
|
|
||||||
+#endif
|
|
||||||
+#include "xf86.h"
|
|
||||||
+#include "xf86Config.h"
|
|
||||||
+#include "xf86_OSlib.h"
|
|
||||||
+#include "xf86Priv.h"
|
|
||||||
+/* #include "xf86PciData.h" */
|
|
||||||
+#define IN_XSERVER
|
|
||||||
+#include "xf86Parser.h"
|
|
||||||
+#include "xf86tokens.h"
|
|
||||||
+#include "Configint.h"
|
|
||||||
+#include "vbe.h"
|
|
||||||
+#include "xf86DDC.h"
|
|
||||||
+#if defined(__sparc__) && !defined(__OpenBSD__)
|
|
||||||
+#include "xf86Bus.h"
|
|
||||||
+#include "xf86Sbus.h"
|
|
||||||
+#endif
|
|
||||||
+#include "globals.h"
|
|
||||||
+
|
|
||||||
+static const char*
|
|
||||||
+optionTypeToSting(OptionValueType type)
|
|
||||||
+{
|
|
||||||
+ switch (type) {
|
|
||||||
+ case OPTV_NONE:
|
|
||||||
+ return "";
|
|
||||||
+ case OPTV_INTEGER:
|
|
||||||
+ return "<int>";
|
|
||||||
+ case OPTV_STRING:
|
|
||||||
+ return "<str>";
|
|
||||||
+ case OPTV_ANYSTR:
|
|
||||||
+ return "<str>";
|
|
||||||
+ case OPTV_REAL:
|
|
||||||
+ return "<real>";
|
|
||||||
+ case OPTV_BOOLEAN:
|
|
||||||
+ return "<bool>";
|
|
||||||
+ case OPTV_FREQ:
|
|
||||||
+ return "<freq>";
|
|
||||||
+ default:
|
|
||||||
+ return "<undef>";
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void DoShowOptions (void) {
|
|
||||||
+ int i = 0;
|
|
||||||
+ char **vlist = 0;
|
|
||||||
+ char *pSymbol = 0;
|
|
||||||
+ XF86ModuleData *initData = 0;
|
|
||||||
+ if (! (vlist = xf86DriverlistFromCompile())) {
|
|
||||||
+ ErrorF("Missing output drivers\n");
|
|
||||||
+ goto bail;
|
|
||||||
+ }
|
|
||||||
+ xf86LoadModules (vlist,0);
|
|
||||||
+ xfree (vlist);
|
|
||||||
+ for (i = 0; i < xf86NumDrivers; i++) {
|
|
||||||
+ if (xf86DriverList[i]->AvailableOptions) {
|
|
||||||
+ OptionInfoPtr pOption = (OptionInfoPtr)(*xf86DriverList[i]->AvailableOptions)(0,0);
|
|
||||||
+ if (! pOption) {
|
|
||||||
+ ErrorF ("(EE) Couldn't read option table for %s driver\n",
|
|
||||||
+ xf86DriverList[i]->driverName
|
|
||||||
+ );
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ pSymbol = xalloc (
|
|
||||||
+ strlen(xf86DriverList[i]->driverName) + strlen("ModuleData") + 1
|
|
||||||
+ );
|
|
||||||
+ strcpy (pSymbol, xf86DriverList[i]->driverName);
|
|
||||||
+ strcat (pSymbol, "ModuleData");
|
|
||||||
+ initData = LoaderSymbol (pSymbol);
|
|
||||||
+ if (initData) {
|
|
||||||
+ XF86ModuleVersionInfo *vers = initData->vers;
|
|
||||||
+ ErrorF ("Driver[%d]:%s[%s] {\n",
|
|
||||||
+ i,xf86DriverList[i]->driverName,vers->vendor
|
|
||||||
+ );
|
|
||||||
+ OptionInfoPtr p;
|
|
||||||
+ for (p = pOption; p->name != NULL; p++) {
|
|
||||||
+ const char *opttype = optionTypeToSting(p->type);
|
|
||||||
+ char *optname = xalloc(strlen(p->name) + 2 + 1);
|
|
||||||
+ if (!optname) {
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ sprintf(optname, "%s", p->name);
|
|
||||||
+ ErrorF ("\t%s:%s\n", optname,opttype);
|
|
||||||
+ }
|
|
||||||
+ ErrorF ("}\n");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ bail:
|
|
||||||
+ OsCleanup (TRUE);
|
|
||||||
+ AbortDDX ();
|
|
||||||
+ fflush (stderr);
|
|
||||||
+ exit (0);
|
|
||||||
+}
|
|
@ -1,14 +1,12 @@
|
|||||||
diff --git a/hw/xfree86/common/xf86RandR.c b/hw/xfree86/common/xf86RandR.c
|
--- xorg-server-1.6.0/hw/xfree86/common/xf86RandR.c.orig 2009-02-25 20:12:11.000000000 +0100
|
||||||
index 4432ad9..7e446de 100644
|
+++ xorg-server-1.6.0/hw/xfree86/common/xf86RandR.c 2009-02-27 17:04:34.000000000 +0100
|
||||||
--- a/hw/xfree86/common/xf86RandR.c
|
@@ -246,6 +246,9 @@ xf86RandRSetConfig (ScreenPtr pScreen,
|
||||||
+++ b/hw/xfree86/common/xf86RandR.c
|
|
||||||
@@ -223,6 +223,9 @@ xf86RandRSetConfig (ScreenPtr pScreen,
|
|
||||||
Bool useVirtual = FALSE;
|
Bool useVirtual = FALSE;
|
||||||
Rotation oldRotation = randrp->rotation;
|
Rotation oldRotation = randrp->rotation;
|
||||||
|
|
||||||
+ if (!scrp->vtSema)
|
+ if (!scrp->vtSema)
|
||||||
+ return FALSE;
|
+ return FALSE;
|
||||||
+
|
+
|
||||||
miPointerPosition (&px, &py);
|
miPointerGetPosition(inputInfo.pointer, &px, &py);
|
||||||
for (mode = scrp->modes; ; mode = mode->next)
|
for (mode = scrp->modes; ; mode = mode->next)
|
||||||
{
|
{
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
--- hw/xfree86/modes/xf86Crtc.c.orig 2008-11-05 17:21:08.000000000 +0100
|
|
||||||
+++ hw/xfree86/modes/xf86Crtc.c 2008-11-05 17:24:07.000000000 +0100
|
|
||||||
@@ -1176,10 +1176,12 @@ xf86InitialOutputPositions (ScrnInfoPtr
|
|
||||||
output->initial_x += xf86ModeWidth (modes[or], relative->initial_rotation);
|
|
||||||
break;
|
|
||||||
case OPTION_ABOVE:
|
|
||||||
- output->initial_y -= xf86ModeHeight (modes[o], relative->initial_rotation);
|
|
||||||
+ if (modes[o])
|
|
||||||
+ output->initial_y -= xf86ModeHeight (modes[o], output->initial_rotation);
|
|
||||||
break;
|
|
||||||
case OPTION_LEFT_OF:
|
|
||||||
- output->initial_x -= xf86ModeWidth (modes[o], relative->initial_rotation);
|
|
||||||
+ if (modes[o])
|
|
||||||
+ output->initial_x -= xf86ModeWidth (modes[o], output->initial_rotation);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
22
xephyr.diff
22
xephyr.diff
@ -1,25 +1,19 @@
|
|||||||
--- hw/kdrive/Makefile.am.orig 2006-10-23 16:23:04.000000000 +0200
|
--- hw/kdrive/Makefile.am.orig 2008-11-14 22:27:05.000000000 +0100
|
||||||
+++ hw/kdrive/Makefile.am 2006-10-23 16:23:34.000000000 +0200
|
+++ hw/kdrive/Makefile.am 2009-02-27 15:45:07.000000000 +0100
|
||||||
@@ -1,10 +1,9 @@
|
@@ -1,5 +1,5 @@
|
||||||
if KDRIVEVESA
|
|
||||||
-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \
|
|
||||||
- smi via
|
|
||||||
+VESA_SUBDIRS =
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BUILD_KDRIVEFBDEVLIB
|
if BUILD_KDRIVEFBDEVLIB
|
||||||
-FBDEV_SUBDIRS = fbdev
|
-FBDEV_SUBDIRS = fbdev
|
||||||
+FBDEV_SUBDIRS =
|
+FBDEV_SUBDIRS =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if XSDLSERVER
|
if XFAKESERVER
|
||||||
@@ -21,8 +20,7 @@
|
@@ -21,8 +21,7 @@
|
||||||
|
SERVER_SUBDIRS = \
|
||||||
$(XSDL_SUBDIRS) \
|
$(XSDL_SUBDIRS) \
|
||||||
$(FBDEV_SUBDIRS) \
|
$(FBDEV_SUBDIRS) \
|
||||||
$(VESA_SUBDIRS) \
|
|
||||||
- $(XEPHYR_SUBDIRS) \
|
- $(XEPHYR_SUBDIRS) \
|
||||||
- $(XFAKE_SUBDIRS)
|
- $(XFAKE_SUBDIRS)
|
||||||
+ $(XEPHYR_SUBDIRS)
|
+ $(XEPHYR_SUBDIRS)
|
||||||
|
|
||||||
DIST_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \
|
SUBDIRS = \
|
||||||
smi via fbdev sdl ephyr src linux fake sis300
|
src \
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:2ff9a6a280aaa8fe887c538e6099c0fdcfa94cb9dac800bde3b584cc9f325dc0
|
|
||||||
size 5615666
|
|
3
xorg-server-1.6.0.tar.bz2
Normal file
3
xorg-server-1.6.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:81a9a02b621e8a3e0bae1ad1b5dd6706a3fdcdbe766d75e1670ab5b3f0d32812
|
||||||
|
size 4655422
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,17 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 27 12:40:32 CET 2009 - sndirsch@suse.de
|
||||||
|
|
||||||
|
- xorg-server 1.6.0
|
||||||
|
- temporarily disabled build of Xvnc/libvnc.so
|
||||||
|
- obsoletes 64bit-portability-issue.diff, 64bit.diff,
|
||||||
|
commit-59f9fb4b8.diff, commit-a9e2030.diff, dga_cleanup.diff,
|
||||||
|
miPointerUpdate-crashfix.diff, p_mouse_misc.diff,
|
||||||
|
ps_showopts.diff, unplugged_monitor_crashfix.diff
|
||||||
|
- adjusted 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch,
|
||||||
|
bitmap_always_unscaled.diff, confine_to_shape.diff, fbdevhw.diff,
|
||||||
|
p_ia64-console.diff, randr1_1-sig11.diff, xephyr.diff,
|
||||||
|
xorg-server-xf4vnc.patch, zap_warning_xserver.diff
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Feb 24 12:08:59 CET 2009 - sndirsch@suse.de
|
Tue Feb 24 12:08:59 CET 2009 - sndirsch@suse.de
|
||||||
|
|
||||||
|
@ -19,9 +19,10 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: xorg-x11-server
|
Name: xorg-x11-server
|
||||||
%define dirsuffix 1.5.2
|
%define dirsuffix 1.6.0
|
||||||
%define fglrx_driver_hack 0
|
%define fglrx_driver_hack 0
|
||||||
%define vnc 1
|
### FIXME
|
||||||
|
%define vnc 0
|
||||||
BuildRequires: Mesa-devel bison flex fontconfig-devel freetype2-devel ghostscript-library libdrm-devel libopenssl-devel pkgconfig xorg-x11 xorg-x11-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-xtrans-devel
|
BuildRequires: Mesa-devel bison flex fontconfig-devel freetype2-devel ghostscript-library libdrm-devel libopenssl-devel pkgconfig xorg-x11 xorg-x11-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-xtrans-devel
|
||||||
%if %vnc
|
%if %vnc
|
||||||
BuildRequires: libjpeg-devel
|
BuildRequires: libjpeg-devel
|
||||||
@ -29,7 +30,7 @@ BuildRequires: libjpeg-devel
|
|||||||
Url: http://xorg.freedesktop.org/
|
Url: http://xorg.freedesktop.org/
|
||||||
%define EXPERIMENTAL 0
|
%define EXPERIMENTAL 0
|
||||||
Version: 7.4
|
Version: 7.4
|
||||||
Release: 27
|
Release: 28
|
||||||
License: X11/MIT
|
License: X11/MIT
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
@ -56,13 +57,10 @@ Source5: modprobe.nvidia
|
|||||||
%endif
|
%endif
|
||||||
Source7: xorg-docs-1.4.tar.bz2
|
Source7: xorg-docs-1.4.tar.bz2
|
||||||
Source8: xorg.conf.man-070818.tar
|
Source8: xorg.conf.man-070818.tar
|
||||||
Patch: 64bit.diff
|
|
||||||
Patch1: fpic.diff
|
Patch1: fpic.diff
|
||||||
Patch2: p_default-module-path.diff
|
Patch2: p_default-module-path.diff
|
||||||
Patch6: pu_fixes.diff
|
Patch6: pu_fixes.diff
|
||||||
Patch7: p_mouse_misc.diff
|
|
||||||
Patch8: p_bug96328.diff
|
Patch8: p_bug96328.diff
|
||||||
Patch11: ps_showopts.diff
|
|
||||||
Patch13: p_xorg_acpi.diff
|
Patch13: p_xorg_acpi.diff
|
||||||
Patch14: p_xkills_wrong_client.diff
|
Patch14: p_xkills_wrong_client.diff
|
||||||
Patch16: p_xnest-ignore-getimage-errors.diff
|
Patch16: p_xnest-ignore-getimage-errors.diff
|
||||||
@ -101,16 +99,10 @@ Patch106: randr1_1-sig11.diff
|
|||||||
Patch109: events.diff
|
Patch109: events.diff
|
||||||
Patch112: fix-dpi-values.diff
|
Patch112: fix-dpi-values.diff
|
||||||
Patch113: no-return-in-nonvoid-function.diff
|
Patch113: no-return-in-nonvoid-function.diff
|
||||||
Patch114: 64bit-portability-issue.diff
|
|
||||||
Patch117: acpi-warning.diff
|
Patch117: acpi-warning.diff
|
||||||
Patch118: exa-greedy.diff
|
Patch118: exa-greedy.diff
|
||||||
Patch120: dga_cleanup.diff
|
|
||||||
Patch121: miPointerUpdate-crashfix.diff
|
|
||||||
Patch122: unplugged_monitor_crashfix.diff
|
|
||||||
Patch123: vidmode-sig11.diff
|
Patch123: vidmode-sig11.diff
|
||||||
Patch124: commit-59f9fb4b8.diff
|
|
||||||
Patch125: 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
|
Patch125: 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
|
||||||
Patch126: commit-a9e2030.diff
|
|
||||||
Patch127: dpms_screensaver.diff
|
Patch127: dpms_screensaver.diff
|
||||||
Patch128: pci-legacy-mem-fallback.diff
|
Patch128: pci-legacy-mem-fallback.diff
|
||||||
Patch129: bug474071-fix1.diff
|
Patch129: bug474071-fix1.diff
|
||||||
@ -172,13 +164,10 @@ An X Window System server for Virtual Network Computing (VNC).
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n xorg-server-%{dirsuffix} -a4 -a7 -a8
|
%setup -q -n xorg-server-%{dirsuffix} -a4 -a7 -a8
|
||||||
%patch
|
|
||||||
%patch1
|
%patch1
|
||||||
%patch2
|
%patch2
|
||||||
%patch6
|
%patch6
|
||||||
%patch7 -p2
|
|
||||||
%patch8 -p0
|
%patch8 -p0
|
||||||
%patch11
|
|
||||||
%patch13
|
%patch13
|
||||||
%patch14
|
%patch14
|
||||||
%patch16 -p2
|
%patch16 -p2
|
||||||
@ -224,16 +213,10 @@ popd
|
|||||||
%patch109 -p1
|
%patch109 -p1
|
||||||
%patch112 -p0
|
%patch112 -p0
|
||||||
%patch113 -p0
|
%patch113 -p0
|
||||||
%patch114 -p0
|
|
||||||
%patch117
|
%patch117
|
||||||
%patch118 -p1
|
%patch118 -p1
|
||||||
%patch120 -p1
|
|
||||||
%patch121 -p0
|
|
||||||
%patch122 -p0
|
|
||||||
%patch123 -p0
|
%patch123 -p0
|
||||||
%patch124 -p1
|
|
||||||
%patch125 -p1
|
%patch125 -p1
|
||||||
%patch126 -p1
|
|
||||||
%patch127 -p1
|
%patch127 -p1
|
||||||
%patch128
|
%patch128
|
||||||
pushd hw/xfree86/os-support/bus
|
pushd hw/xfree86/os-support/bus
|
||||||
@ -509,19 +492,11 @@ exit 0
|
|||||||
/usr/bin/dmxwininfo
|
/usr/bin/dmxwininfo
|
||||||
%ifnarch s390 s390x
|
%ifnarch s390 s390x
|
||||||
/usr/bin/gtf
|
/usr/bin/gtf
|
||||||
/usr/bin/inb
|
|
||||||
/usr/bin/inl
|
|
||||||
/usr/bin/inw
|
|
||||||
/usr/bin/ioport
|
|
||||||
/usr/bin/outb
|
|
||||||
/usr/bin/outl
|
|
||||||
/usr/bin/outw
|
|
||||||
%endif
|
%endif
|
||||||
/usr/bin/vdltodmx
|
/usr/bin/vdltodmx
|
||||||
/usr/bin/xdmx
|
/usr/bin/xdmx
|
||||||
/usr/bin/xdmxconfig
|
/usr/bin/xdmxconfig
|
||||||
%ifnarch s390 s390x
|
%ifnarch s390 s390x
|
||||||
/usr/bin/xorgconfig
|
|
||||||
/usr/%{_lib}/X11/*
|
/usr/%{_lib}/X11/*
|
||||||
/usr/%{_lib}/xorg/modules/
|
/usr/%{_lib}/xorg/modules/
|
||||||
%{_mandir}/man4/*
|
%{_mandir}/man4/*
|
||||||
@ -570,6 +545,17 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 27 2009 sndirsch@suse.de
|
||||||
|
- xorg-server 1.6.0
|
||||||
|
- temporarily disabled build of Xvnc/libvnc.so
|
||||||
|
- obsoletes 64bit-portability-issue.diff, 64bit.diff,
|
||||||
|
commit-59f9fb4b8.diff, commit-a9e2030.diff, dga_cleanup.diff,
|
||||||
|
miPointerUpdate-crashfix.diff, p_mouse_misc.diff,
|
||||||
|
ps_showopts.diff, unplugged_monitor_crashfix.diff
|
||||||
|
- adjusted 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch,
|
||||||
|
bitmap_always_unscaled.diff, confine_to_shape.diff, fbdevhw.diff,
|
||||||
|
p_ia64-console.diff, randr1_1-sig11.diff, xephyr.diff,
|
||||||
|
xorg-server-xf4vnc.patch, zap_warning_xserver.diff
|
||||||
* Tue Feb 24 2009 sndirsch@suse.de
|
* Tue Feb 24 2009 sndirsch@suse.de
|
||||||
- bug474071-fix1.diff
|
- bug474071-fix1.diff
|
||||||
* fixes Xserver issue of bnc #474071
|
* fixes Xserver issue of bnc #474071
|
||||||
|
@ -1,31 +1,4 @@
|
|||||||
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Config.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Config.c
|
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Config.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Config.c
|
||||||
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Config.c 2008-03-09 12:36:39.000000000 +0100
|
|
||||||
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Config.c 2008-03-09 13:33:17.000000000 +0100
|
|
||||||
@@ -743,6 +743,7 @@
|
|
||||||
FLAG_NOTRAPSIGNALS,
|
|
||||||
FLAG_DONTVTSWITCH,
|
|
||||||
FLAG_DONTZAP,
|
|
||||||
+ FLAG_ZAPWARNING,
|
|
||||||
FLAG_DONTZOOM,
|
|
||||||
FLAG_DISABLEVIDMODE,
|
|
||||||
FLAG_ALLOWNONLOCAL,
|
|
||||||
@@ -788,6 +789,8 @@
|
|
||||||
{0}, FALSE },
|
|
||||||
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
|
|
||||||
{0}, FALSE },
|
|
||||||
+ { FLAG_ZAPWARNING, "ZapWarning", OPTV_BOOLEAN,
|
|
||||||
+ {0}, FALSE },
|
|
||||||
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
|
|
||||||
{0}, FALSE },
|
|
||||||
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
|
|
||||||
@@ -912,6 +915,7 @@
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
|
|
||||||
+ xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning);
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
|
|
||||||
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_ALLOW_DEACTIVATE_GRABS,
|
|
||||||
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Events.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Events.c
|
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Events.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Events.c
|
||||||
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Events.c 2008-03-09 13:27:24.000000000 +0100
|
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Events.c 2008-03-09 13:27:24.000000000 +0100
|
||||||
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Events.c 2008-03-09 13:30:18.000000000 +0100
|
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Events.c 2008-03-09 13:30:18.000000000 +0100
|
||||||
@ -61,16 +34,6 @@ diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Events.c xorg-server-1
|
|||||||
case ACTION_NEXT_MODE:
|
case ACTION_NEXT_MODE:
|
||||||
if (!xf86Info.dontZoom)
|
if (!xf86Info.dontZoom)
|
||||||
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Globals.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Globals.c
|
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Globals.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Globals.c
|
||||||
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Globals.c 2008-03-09 12:36:39.000000000 +0100
|
|
||||||
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Globals.c 2008-03-09 13:31:40.000000000 +0100
|
|
||||||
@@ -107,6 +107,7 @@
|
|
||||||
FALSE, /* inputPending */
|
|
||||||
FALSE, /* dontVTSwitch */
|
|
||||||
FALSE, /* dontZap */
|
|
||||||
+ FALSE, /* ZapWarning */
|
|
||||||
FALSE, /* dontZoom */
|
|
||||||
FALSE, /* notrapSignals */
|
|
||||||
FALSE, /* caughtSignal */
|
|
||||||
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Privstr.h xorg-server-1.4.0.90/hw/xfree86/common/xf86Privstr.h
|
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Privstr.h xorg-server-1.4.0.90/hw/xfree86/common/xf86Privstr.h
|
||||||
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Privstr.h 2007-12-07 03:38:42.000000000 +0100
|
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Privstr.h 2007-12-07 03:38:42.000000000 +0100
|
||||||
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Privstr.h 2008-03-09 13:29:43.000000000 +0100
|
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Privstr.h 2008-03-09 13:29:43.000000000 +0100
|
||||||
@ -99,20 +62,74 @@ diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/doc/man/xorg.conf.man.pre xorg-se
|
|||||||
.BI "Option \*qDontZoom\*q \*q" boolean \*q
|
.BI "Option \*qDontZoom\*q \*q" boolean \*q
|
||||||
This disallows the use of the
|
This disallows the use of the
|
||||||
.B Ctrl+Alt+Keypad\-Plus
|
.B Ctrl+Alt+Keypad\-Plus
|
||||||
--- xorg-server-1.4.0.90-orig/hw/xfree86/doc/man/Xorg.man.pre.orig 2008-05-16 16:46:39.000000000 +0200
|
--- xorg-server-1.6.0/hw/xfree86/common/xf86Config.c.orig 2009-02-25 20:12:11.000000000 +0100
|
||||||
+++ xorg-server-1.4.0.90/hw/xfree86/doc/man/Xorg.man.pre 2008-05-16 16:48:50.000000000 +0200
|
+++ xorg-server-1.6.0/hw/xfree86/common/xf86Config.c 2009-02-27 16:28:19.000000000 +0100
|
||||||
@@ -461,10 +461,10 @@
|
@@ -697,6 +697,7 @@ typedef enum {
|
||||||
are:
|
FLAG_NOTRAPSIGNALS,
|
||||||
.TP 8
|
FLAG_DONTVTSWITCH,
|
||||||
.B Ctrl+Alt+Backspace
|
FLAG_DONTZAP,
|
||||||
-Immediately kills the server -- no questions asked. This can be disabled
|
+ FLAG_ZAPWARNING,
|
||||||
-with the
|
FLAG_DONTZOOM,
|
||||||
|
FLAG_DISABLEVIDMODE,
|
||||||
|
FLAG_ALLOWNONLOCAL,
|
||||||
|
@@ -734,6 +735,8 @@ static OptionInfoRec FlagOptions[] = {
|
||||||
|
{0}, FALSE },
|
||||||
|
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
|
||||||
|
{0}, TRUE },
|
||||||
|
+ { FLAG_ZAPWARNING, "ZapWarning", OPTV_BOOLEAN,
|
||||||
|
+ {0}, FALSE },
|
||||||
|
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
|
||||||
|
{0}, FALSE },
|
||||||
|
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
|
||||||
|
@@ -847,6 +850,7 @@ configServerFlags(XF86ConfFlagsPtr flags
|
||||||
|
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
|
||||||
|
if (!xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap))
|
||||||
|
xf86Info.dontZap = !party_like_its_1989;
|
||||||
|
+ xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning);
|
||||||
|
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
|
||||||
|
|
||||||
|
xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
|
||||||
|
--- xorg-server-1.6.0/hw/xfree86/common/xf86Globals.c.orig 2009-02-27 16:23:51.000000000 +0100
|
||||||
|
+++ xorg-server-1.6.0/hw/xfree86/common/xf86Globals.c 2009-02-27 16:30:19.000000000 +0100
|
||||||
|
@@ -106,6 +106,7 @@ xf86InfoRec xf86Info = {
|
||||||
|
.vtRequestsPending = FALSE,
|
||||||
|
.dontVTSwitch = FALSE,
|
||||||
|
.dontZap = FALSE,
|
||||||
|
+ .ZapWarning = FALSE,
|
||||||
|
.dontZoom = FALSE,
|
||||||
|
.notrapSignals = FALSE,
|
||||||
|
.caughtSignal = FALSE,
|
||||||
|
--- xorg-server-1.6.0/hw/xfree86/doc/man/Xorg.man.pre.orig 2009-02-25 20:12:11.000000000 +0100
|
||||||
|
+++ xorg-server-1.6.0/hw/xfree86/doc/man/Xorg.man.pre 2009-02-27 16:32:45.000000000 +0100
|
||||||
|
@@ -452,8 +452,8 @@ are:
|
||||||
|
Immediately kills the server -- no questions asked. This is disabled by
|
||||||
|
default. It can be enabled with the -retro command line flag or by setting
|
||||||
|
the
|
||||||
-.B DontZap
|
-.B DontZap
|
||||||
-__xconfigfile__(__filemansuffix__) file option.
|
-__xconfigfile__(__filemansuffix__) file option to a FALSE value.
|
||||||
+Immediately kills the server -- no questions asked. This behaviour can
|
|
||||||
+be changed with the
|
|
||||||
+.B DontZap/ZapWarning
|
+.B DontZap/ZapWarning
|
||||||
+__xconfigfile__(__filemansuffix__) file options.
|
+__xconfigfile__(__filemansuffix__) file options to a FALSE value.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B Ctrl+Alt+Keypad-Plus
|
.B Ctrl+Alt+Keypad-Plus
|
||||||
Change video mode to next one specified in the configuration file.
|
Change video mode to next one specified in the configuration file.
|
||||||
|
--- xorg-server-1.6.0/hw/xfree86/common/xf86Config.c.orig 2009-02-28 20:29:42.000000000 +0100
|
||||||
|
+++ xorg-server-1.6.0/hw/xfree86/common/xf86Config.c 2009-02-28 20:30:44.000000000 +0100
|
||||||
|
@@ -734,7 +734,7 @@ static OptionInfoRec FlagOptions[] = {
|
||||||
|
{ FLAG_DONTVTSWITCH, "DontVTSwitch", OPTV_BOOLEAN,
|
||||||
|
{0}, FALSE },
|
||||||
|
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
|
||||||
|
- {0}, TRUE },
|
||||||
|
+ {0}, FALSE },
|
||||||
|
{ FLAG_ZAPWARNING, "ZapWarning", OPTV_BOOLEAN,
|
||||||
|
{0}, FALSE },
|
||||||
|
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
|
||||||
|
@@ -848,8 +848,7 @@ configServerFlags(XF86ConfFlagsPtr flags
|
||||||
|
|
||||||
|
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
|
||||||
|
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
|
||||||
|
- if (!xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap))
|
||||||
|
- xf86Info.dontZap = !party_like_its_1989;
|
||||||
|
+ xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
|
||||||
|
xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning);
|
||||||
|
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user