Accepting request 29877 from X11:XOrg

Copy from X11:XOrg/xorg-x11-server based on submit request 29877 from user sndirsch

OBS-URL: https://build.opensuse.org/request/show/29877
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=153
This commit is contained in:
OBS User autobuild 2010-01-18 13:04:02 +00:00 committed by Git OBS Bridge
parent 2dc08b7e13
commit 6c7e20d56d
33 changed files with 719 additions and 1219 deletions

View File

@ -5,22 +5,14 @@ Subject: [PATCH] Fix segfault when killing X with ctrl-alt-backspace.
The damage structure for the cursor is not deregistered before deallocation,
causing a subsequent DamageUnregister () to segfault.
---
mi/misprite.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/mi/misprite.c b/mi/misprite.c
index 692e6c9..c368928 100644
--- a/mi/misprite.c
+++ b/mi/misprite.c
@@ -313,6 +313,7 @@ miSpriteCloseScreen (int i, ScreenPtr pScreen)
================================================================================
--- xorg-server-1.7.4/mi/misprite.c
+++ xorg-server-1.7.4/mi/misprite.c
@@ -384,6 +384,7 @@
pScreen->InstallColormap = pScreenPriv->InstallColormap;
pScreen->StoreColors = pScreenPriv->StoreColors;
+ miSpriteDisableDamage(pScreen, pScreenPriv);
DamageDestroy (pScreenPriv->pDamage);
xfree ((pointer) pScreenPriv);
--
1.6.4.2
xfree (pScreenPriv);

View File

@ -1,16 +0,0 @@
diff --git a/hw/xfree86/modes/xf86Cursors.c b/hw/xfree86/modes/xf86Cursors.c
index fc4df84..385848b 100644
--- a/hw/xfree86/modes/xf86Cursors.c
+++ b/hw/xfree86/modes/xf86Cursors.c
@@ -480,10 +480,10 @@ xf86_use_hw_cursor_argb (ScreenPtr screen, CursorPtr cursor)
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
xf86CursorInfoPtr cursor_info = xf86_config->cursor_info;
+ ++cursor->refcnt;
if (xf86_config->cursor)
FreeCursor (xf86_config->cursor, None);
xf86_config->cursor = cursor;
- ++cursor->refcnt;
/* Make sure ARGB support is available */
if ((cursor_info->Flags & HARDWARE_CURSOR_ARGB) == 0)

View File

@ -1,70 +0,0 @@
From 593348b46a21c6f291194fa9ff61bd5bc7c5cb9f Mon Sep 17 00:00:00 2001
From: Matthias Hopf <mhopf@suse.de>
Date: Wed, 24 Jun 2009 18:26:23 +0200
Subject: [PATCH] Unclaim PCI slot if driver probing fails.
Otherwise no subsequent driver will be able to claim this pci slot.
Example for this: fbdev tries to claim, but framebuffer device is not
available. Later on VESA cannot claim the device.
---
hw/xfree86/common/xf86.h | 1 +
hw/xfree86/common/xf86Init.c | 3 ++-
hw/xfree86/common/xf86pciBus.c | 19 +++++++++++++++++++
3 files changed, 22 insertions(+), 1 deletions(-)
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86.h
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86.h
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86.h
@@ -97,6 +97,7 @@ extern Bool xf86DRI2Enabled(void);
Bool xf86CheckPciSlot( const struct pci_device * );
int xf86ClaimPciSlot( struct pci_device *, DriverPtr drvp,
int chipset, GDevPtr dev, Bool active);
+void xf86UnclaimPciSlot(struct pci_device *);
Bool xf86ParsePciBusString(const char *busID, int *bus, int *device,
int *func);
Bool xf86ComparePciBusString(const char *busID, int bus, int device, int func);
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Init.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Init.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Init.c
@@ -514,7 +514,8 @@ probe_devices_from_device_sections(Drive
if ((*drvp->PciProbe)(drvp, entry, pPci,
devices[j].match_data)) {
foundScreen = TRUE;
- }
+ } else
+ xf86UnclaimPciSlot(pPci);
}
break;
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86pciBus.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86pciBus.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86pciBus.c
@@ -753,6 +753,25 @@ xf86ClaimPciSlot(struct pci_device * d,
}
/*
+ * Unclaim PCI slot, e.g. if probing failed, so that a different driver can claim.
+ */
+void
+xf86UnclaimPciSlot(struct pci_device *d)
+{
+ int i;
+
+ for (i = 0; i < xf86NumEntities; i++) {
+ const EntityPtr p = xf86Entities[i];
+
+ if ((p->bus.type == BUS_PCI) && (p->bus.id.pci == d)) {
+ /* Probably the slot should be deallocated? */
+ p->bus.type = BUS_NONE;
+ return;
+ }
+ }
+}
+
+/*
* Parse a BUS ID string, and return the PCI bus parameters if it was
* in the correct format for a PCI bus id.
*/

View File

@ -1,13 +0,0 @@
Index: hw/xfree86/os-support/linux/lnx_acpi.c
===================================================================
--- hw/xfree86/os-support/linux/lnx_acpi.c.orig
+++ hw/xfree86/os-support/linux/lnx_acpi.c
@@ -163,8 +163,6 @@ doLnxACPIOpen(void)
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, ACPI_SOCKET);
if ((r = connect(fd, (struct sockaddr*)&addr, sizeof(addr))) == -1) {
- xf86MsgVerb(X_WARNING,3,"Open ACPI failed (%s) (%s)\n", ACPI_SOCKET,
- strerror(errno));
shutdown(fd, 2);
close(fd);
return NULL;

View File

@ -1,13 +0,0 @@
Index: xorg-server-1.6.3.901/hw/xfree86/os-support/linux/lnx_apm.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/os-support/linux/lnx_apm.c
+++ xorg-server-1.6.3.901/hw/xfree86/os-support/linux/lnx_apm.c
@@ -189,7 +189,7 @@ lnxAPMOpen(void)
close(pfd);
xf86PMGetEventFromOs = lnxPMGetEventFromOs;
xf86PMConfirmEventToOs = lnxPMConfirmEventToOs;
- APMihPtr = xf86AddInputHandler(fd,xf86HandlePMEvents,NULL);
+ APMihPtr = xf86AddGeneralHandler(fd,xf86HandlePMEvents,NULL);
xf86MsgVerb(X_INFO,3,"Open APM successful\n");
return lnxCloseAPM;
}

View File

@ -36,22 +36,3 @@ Index: xorg-server-1.6.3.901/configure.ac
case $host_os in
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
esac
Index: xorg-server-1.6.3.901/hw/xfree86/Makefile.am
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/Makefile.am
+++ xorg-server-1.6.3.901/hw/xfree86/Makefile.am
@@ -100,11 +100,11 @@ dist_options_DATA = Options
CPP_FILES_FLAGS = \
-DLOCALFONTPATH="\"$(BASE_FONT_PATH)/local\"" \
- -DMISCFONTPATH="\"$(BASE_FONT_PATH)/misc\"" \
+ -DMISCFONTPATH="\"$(BASE_FONT_PATH)/misc:unscaled\"" \
-DT1FONTPATH="\"$(BASE_FONT_PATH)/Type1\"" \
-DTRUETYPEFONTPATH="\"$(BASE_FONT_PATH)/TTF\"" \
- -DDPI75FONTPATH="\"$(BASE_FONT_PATH)/75dpi\"" \
- -DDPI100FONTPATH="\"$(BASE_FONT_PATH)/100dpi\"" \
+ -DDPI75FONTPATH="\"$(BASE_FONT_PATH)/75dpi:unscaled\"" \
+ -DDPI100FONTPATH="\"$(BASE_FONT_PATH)/100dpi:unscaled\"" \
-DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\"
relink:

View File

@ -1,8 +1,8 @@
Index: hw/xfree86/common/xf86Events.c
===================================================================
--- hw/xfree86/common/xf86Events.c.orig
================================================================================
--- hw/xfree86/common/xf86Events.c
+++ hw/xfree86/common/xf86Events.c
@@ -124,6 +124,7 @@ typedef struct x_IHRec {
@@ -115,6 +115,7 @@
InputHandlerProc ihproc;
pointer data;
Bool enabled;
@ -10,40 +10,39 @@ Index: hw/xfree86/common/xf86Events.c
struct x_IHRec * next;
} IHRec, *IHPtr;
@@ -513,8 +514,12 @@ xf86VTSwitch()
for (i = 0; i < xf86NumScreens; i++)
xf86Screens[i]->LeaveVT(i, 0);
@@ -456,8 +457,12 @@
* Keep the order: Disable Device > LeaveVT
* EnterVT > EnableDevice
*/
- for (ih = InputHandlers; ih; ih = ih->next)
- xf86DisableInputHandler(ih);
+ for (ih = InputHandlers; ih; ih = ih->next) {
+ if (ih->is_input)
+ xf86DisableInputHandler(ih);
+ else
+ xf86DisableGeneralHandler(ih);
+ if (ih->is_input)
+ xf86DisableInputHandler(ih);
+ else
+ xf86DisableGeneralHandler(ih);
+ }
xf86AccessLeave(); /* We need this here, otherwise */
xf86AccessLeaveState(); /* console won't be restored */
@@ -552,9 +557,12 @@ xf86VTSwitch()
for (pInfo = xf86InputDevs; pInfo; pInfo = pInfo->next) {
if (pInfo->dev) {
xf86ReleaseKeys(pInfo->dev);
@@ -499,8 +504,12 @@
EnableDevice(pInfo->dev, TRUE);
pInfo = pInfo->next;
}
/* XXX HACK */
xf86ReleaseKeys(inputInfo.keyboard);
- for (ih = InputHandlers; ih; ih = ih->next)
- xf86EnableInputHandler(ih);
-
+ for (ih = InputHandlers; ih; ih = ih->next) {
+ if (ih->is_input)
+ xf86EnableInputHandler(ih);
+ else
+ xf86EnableGeneralHandler(ih);
+ }
xf86UnblockSIGIO(prevSIGIO);
} else {
@@ -617,8 +625,12 @@ xf86VTSwitch()
/* XXX HACK */
xf86ReleaseKeys(inputInfo.keyboard);
@@ -556,8 +565,12 @@
pInfo = pInfo->next;
}
- for (ih = InputHandlers; ih; ih = ih->next)
- xf86EnableInputHandler(ih);
@ -56,7 +55,7 @@ Index: hw/xfree86/common/xf86Events.c
xf86UnblockSIGIO(prevSIGIO);
}
@@ -655,8 +667,10 @@ xf86AddInputHandler(int fd, InputHandler
@@ -594,8 +607,10 @@
{
IHPtr ih = addInputHandler(fd, proc, data);
@ -68,11 +67,9 @@ Index: hw/xfree86/common/xf86Events.c
return ih;
}
Index: os/WaitFor.c
===================================================================
--- os/WaitFor.c.orig
--- os/WaitFor.c
+++ os/WaitFor.c
@@ -141,6 +141,7 @@ static OsTimerPtr timers = NULL;
@@ -142,6 +142,7 @@
* For more info on ClientsWithInput, see ReadRequestFromClient().
* pClientsReady is an array to store ready client->index values into.
*****************/
@ -80,7 +77,7 @@ Index: os/WaitFor.c
int
WaitForSomething(int *pClientsReady)
@@ -278,10 +279,9 @@ WaitForSomething(int *pClientsReady)
@@ -279,10 +280,9 @@
if (expired)
return 0;
}
@ -93,7 +90,7 @@ Index: os/WaitFor.c
if (*checkForInput[0] == *checkForInput[1]) {
if (timers)
@@ -316,6 +316,12 @@ WaitForSomething(int *pClientsReady)
@@ -317,6 +317,12 @@
QueueWorkProc(EstablishNewConnections, NULL,
(pointer)&LastSelectMask);

View File

@ -1,55 +0,0 @@
Index: xorg-server-1.6.3.901/hw/xfree86/modes/xf86RandR12.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/modes/xf86RandR12.c
+++ xorg-server-1.6.3.901/hw/xfree86/modes/xf86RandR12.c
@@ -55,6 +55,13 @@ typedef struct _xf86RandR12Info {
int pointerY;
Rotation rotation; /* current mode */
Rotation supported_rotations; /* driver supported */
+
+ /* Used to wrap EnterVT so we can re-probe the outputs when a laptop unsuspends
+ * (actually, any time that we switch back into our VT).
+ *
+ * See https://bugs.freedesktop.org/show_bug.cgi?id=21554
+ */
+ xf86EnterVTProc *orig_EnterVT;
} XF86RandRInfoRec, *XF86RandRInfoPtr;
#ifdef RANDR_12_INTERFACE
@@ -1648,10 +1655,25 @@ xf86RandR13SetPanning (ScreenPtr
}
static Bool
+xf86RandR12EnterVT (int screen_index, int flags)
+{
+ ScreenPtr pScreen = screenInfo.screens[screen_index];
+ XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
+
+ if (randrp->orig_EnterVT) {
+ if (!randrp->orig_EnterVT (screen_index, flags))
+ return FALSE;
+ }
+
+ return RRGetInfo (pScreen, TRUE); /* force a re-probe of outputs and notify clients about changes */
+}
+
+static Bool
xf86RandR12Init12 (ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
rrScrPrivPtr rp = rrGetScrPriv(pScreen);
+ XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
rp->rrGetInfo = xf86RandR12GetInfo12;
rp->rrScreenSetSize = xf86RandR12ScreenSetSize;
@@ -1667,6 +1689,10 @@ xf86RandR12Init12 (ScreenPtr pScreen)
rp->rrModeDestroy = xf86RandR12ModeDestroy;
rp->rrSetConfig = NULL;
pScrn->PointerMoved = xf86RandR12PointerMoved;
+
+ randrp->orig_EnterVT = pScrn->EnterVT;
+ pScrn->EnterVT = xf86RandR12EnterVT;
+
if (!xf86RandR12CreateObjects12 (pScreen))
return FALSE;

View File

@ -1,54 +0,0 @@
diff --git a/Xext/shm.c b/Xext/shm.c
index dd097e6..99bbd37 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -496,15 +496,40 @@ doShmPutImage(DrawablePtr dst, GCPtr pGC,
char *data)
{
PixmapPtr pPixmap;
-
- pPixmap = GetScratchPixmapHeader(dst->pScreen, w, h, depth,
- BitsPerPixel(depth),
- PixmapBytePad(w, depth),
- data);
- if (!pPixmap)
- return;
- pGC->ops->CopyArea((DrawablePtr)pPixmap, dst, pGC, sx, sy, sw, sh, dx, dy);
- FreeScratchPixmapHeader(pPixmap);
+
+ if (format == ZPixmap || depth == 1) {
+ pPixmap = GetScratchPixmapHeader(dst->pScreen, w, h, depth,
+ BitsPerPixel(depth),
+ PixmapBytePad(w, depth),
+ data);
+ if (!pPixmap)
+ return;
+ pGC->ops->CopyArea((DrawablePtr)pPixmap, dst, pGC, sx, sy, sw, sh, dx, dy);
+ FreeScratchPixmapHeader(pPixmap);
+ } else {
+ GCPtr putGC = GetScratchGC(depth, dst->pScreen);
+
+ if (!putGC)
+ return;
+
+ pPixmap = (*dst->pScreen->CreatePixmap)(dst->pScreen, sw, sh, depth,
+ CREATE_PIXMAP_USAGE_SCRATCH);
+ if (!pPixmap) {
+ FreeScratchGC(putGC);
+ return;
+ }
+ ValidateGC(&pPixmap->drawable, putGC);
+ (*putGC->ops->PutImage)(&pPixmap->drawable, putGC, depth, -sx, -sy, w, h, 0,
+ (format == XYPixmap) ? XYPixmap : ZPixmap, data);
+ FreeScratchGC(putGC);
+ if (format == XYBitmap)
+ (void)(*pGC->ops->CopyPlane)(&pPixmap->drawable, dst, pGC, 0, 0, sw, sh,
+ dx, dy, 1L);
+ else
+ (void)(*pGC->ops->CopyArea)(&pPixmap->drawable, dst, pGC, 0, 0, sw, sh,
+ dx, dy);
+ (*pPixmap->drawable.pScreen->DestroyPixmap)(pPixmap);
+ }
}
#ifdef PANORAMIX

View File

@ -8,17 +8,10 @@ xkbcomp outputs will be cached in files with hashed keymap as
names. This saves boot time for around 1s on commodity netbooks.
Signed-off-by: Yan Li <yan.i.li@intel.com>
---
configure.ac | 6 +-
xkb/README.compiled | 8 +-
xkb/ddxLoad.c | 192 +++++++++++++++++++++++++++++++++++++++++---------
3 files changed, 164 insertions(+), 42 deletions(-)
Index: xorg-server-1.6.3.901/configure.ac
===================================================================
--- xorg-server-1.6.3.901.orig/configure.ac
+++ xorg-server-1.6.3.901/configure.ac
@@ -476,9 +476,9 @@ AC_ARG_WITH(default-font-path, AS_HELP_S
================================================================================
--- xorg-server-1.7.4/configure.ac
+++ xorg-server-1.7.4/configure.ac
@@ -502,9 +502,9 @@
AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
[ XKBPATH="$withval" ],
[ XKBPATH="${datadir}/X11/xkb" ])
@ -27,23 +20,21 @@ Index: xorg-server-1.6.3.901/configure.ac
[ XKBOUTPUT="$withval" ],
- [ XKBOUTPUT="compiled" ])
+ [ XKBOUTPUT="${localstatedir}/cache/xkb" ])
AC_ARG_WITH(serverconfig-path, AS_HELP_STRING([--with-serverconfig-path=PATH],
[Directory where ancillary server config files are installed (default: ${libdir}/xorg)]),
[ SERVERCONFIG="$withval" ],
@@ -1807,7 +1807,7 @@ AC_DEFINE_DIR(XKB_BIN_DIRECTORY, bindir,
AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
[Keyboard ruleset (default: base/evdev)]),
[ XKB_DFLT_RULES="$withval" ],
@@ -1120,7 +1120,7 @@
dnl Make sure XKM_OUTPUT_DIR is an absolute path
XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ ]] ; then
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
- XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
+ AC_MSG_ERROR([xkb-output must be an absolute path.])
fi
# XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
Index: xorg-server-1.6.3.901/xkb/README.compiled
===================================================================
--- xorg-server-1.6.3.901.orig/xkb/README.compiled
+++ xorg-server-1.6.3.901/xkb/README.compiled
@@ -4,10 +4,10 @@ current keymap and/or any scratch keymap
dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
--- xorg-server-1.7.4/xkb/README.compiled
+++ xorg-server-1.7.4/xkb/README.compiled
@@ -4,10 +4,10 @@
or some other tool might destroy or replace the files in this directory,
so it is not a safe place to store compiled keymaps for long periods of
time. The default keymap for any server is usually stored in:
@ -58,11 +49,9 @@ Index: xorg-server-1.6.3.901/xkb/README.compiled
Unless the X server is modified, sharing this directory between servers on
different hosts could cause problems.
Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
===================================================================
--- xorg-server-1.6.3.901.orig/xkb/ddxLoad.c
+++ xorg-server-1.6.3.901/xkb/ddxLoad.c
@@ -32,6 +32,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
--- xorg-server-1.7.4/xkb/ddxLoad.c
+++ xorg-server-1.7.4/xkb/ddxLoad.c
@@ -32,6 +32,12 @@
#include <xkb-config.h>
#endif
@ -74,8 +63,8 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
+#endif
#include <stdio.h>
#include <ctype.h>
#define NEED_EVENTS 1
@@ -46,24 +52,13 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/X.h>
@@ -45,24 +51,13 @@
#define XKBSRV_NEED_FILE_FUNCS
#include <xkbsrv.h>
#include <X11/extensions/XI.h>
@ -101,10 +90,10 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
#define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\""
#define ERROR_PREFIX "\"> \""
#define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\""
@@ -179,6 +174,45 @@ OutputDirectory(
@@ -177,6 +172,45 @@
}
static Bool
static Bool
+Sha1Asc(char sha1Asc[SHA_DIGEST_LENGTH*2+1], const char * input)
+{
+ int i;
@ -122,15 +111,15 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
+
+ success = SHA1_Init (&ctx);
+ if (! success)
+ return BadAlloc;
+ return BadAlloc;
+
+ success = SHA1_Update (&ctx, input, strlen(input));
+ if (! success)
+ return BadAlloc;
+ return BadAlloc;
+
+ success = SHA1_Final (sha1, &ctx);
+ if (! success)
+ return BadAlloc;
+ return BadAlloc;
+#endif
+
+ /* convert sha1 to sha1_asc */
@ -147,7 +136,7 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
XkbDDXCompileKeymapByNames( XkbDescPtr xkb,
XkbComponentNamesPtr names,
unsigned want,
@@ -187,7 +221,11 @@ XkbDDXCompileKeymapByNames( XkbDescPtr
@@ -185,7 +219,11 @@
int nameRtrnLen)
{
FILE * out;
@ -160,7 +149,7 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
const char *emptystring = "";
const char *xkbbasedirflag = emptystring;
@@ -198,16 +236,70 @@ XkbDDXCompileKeymapByNames( XkbDescPtr
@@ -196,15 +234,70 @@
/* WIN32 has no popen. The input must be stored in a file which is
used as input for xkbcomp. xkbcomp does not read from stdin. */
char tmpname[PATH_MAX];
@ -207,8 +196,6 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
+ snprintf(xkmfile, sizeof(xkmfile), "server-%s", display);
+ }
- XkbEnsureSafeMapName(keymap);
+ XkbEnsureSafeMapName(xkmfile);
OutputDirectory(xkm_output_dir, sizeof(xkm_output_dir));
+ /* set nameRtrn, fail if it's too small */
@ -231,11 +218,12 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
+ /* continue to call xkbcomp to compile the keymap. to avoid race
+ condition, we compile it to a tmpfile then rename it to
+ xkmfile */
+
+
#ifdef WIN32
strcpy(tmpname, Win32TempDir());
strcat(tmpname, "\\xkb_XXXXXX");
@@ -230,19 +322,30 @@ XkbDDXCompileKeymapByNames( XkbDescPtr
@@ -227,19 +320,30 @@
}
}
@ -269,7 +257,7 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
#ifndef WIN32
out= Popen(buf,"w");
#else
@@ -250,31 +353,43 @@ XkbDDXCompileKeymapByNames( XkbDescPtr
@@ -247,31 +351,43 @@
#endif
if (out!=NULL) {
@ -326,7 +314,7 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
#ifdef WIN32
/* remove the temporary file */
unlink(tmpname);
@@ -289,9 +404,17 @@ XkbDDXCompileKeymapByNames( XkbDescPtr
@@ -286,9 +402,17 @@
}
if (nameRtrn)
nameRtrn[0]= '\0';
@ -345,7 +333,7 @@ Index: xorg-server-1.6.3.901/xkb/ddxLoad.c
}
static FILE *
@@ -375,7 +498,6 @@ unsigned missing;
@@ -372,7 +496,6 @@
DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined);
}
fclose(file);

View File

@ -1,6 +1,6 @@
--- hw/xfree86/common/xf86AutoConfig.c.orig 2009-10-07 04:54:44.000000000 +0200
+++ hw/xfree86/common/xf86AutoConfig.c 2009-10-07 04:56:23.000000000 +0200
@@ -165,7 +165,11 @@ videoPtrToDriverList(struct pci_device *
--- hw/xfree86/common/xf86AutoConfig.c
+++ hw/xfree86/common/xf86AutoConfig.c
@@ -176,7 +176,11 @@
case 0x1142: driverList[0] = "apm"; break;
case 0xedd8: driverList[0] = "ark"; break;
case 0x1a03: driverList[0] = "ast"; break;
@ -12,12 +12,13 @@
+ break;
case 0x102c: driverList[0] = "chips"; break;
case 0x1013: driverList[0] = "cirrus"; break;
case 0x8086:
@@ -179,7 +183,15 @@ videoPtrToDriverList(struct pci_device *
case 0x3d3d: driverList[0] = "glint"; break;
@@ -192,8 +196,20 @@
break;
case 0x102b: driverList[0] = "mga"; break;
case 0x10c8: driverList[0] = "neomagic"; break;
case 0x105d: driverList[0] = "i128"; break;
- case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
- case 0x1106: driverList[0] = "openchrome"; break;
+ case 0x12d2: driverList[0] = "nv"; break;
+ case 0x10de:
+ driverList[0] = "nvidia";
@ -27,31 +28,11 @@
+ driverList[2] = "nv";
+ }
+ break;
case 0x1163: driverList[0] = "rendition"; break;
case 0x5333:
switch (dev->device_id)
@@ -205,7 +217,11 @@ videoPtrToDriverList(struct pci_device *
case 0x3d3d: driverList[0] = "glint"; break;
case 0x1023: driverList[0] = "trident"; break;
case 0x100c: driverList[0] = "tseng"; break;
- case 0x1106: driverList[0] = "openchrome"; break;
+ case 0x1106:
+ case 0x1106:
+ driverList[0] = "via";
+ driverList[1] = "openchrome";
+ driverList[2] = "unichrome";
+ break;
case 0x15ad: driverList[0] = "vmware"; break;
case 0x18ca:
if (dev->device_id == 0x47)
@@ -213,6 +229,11 @@ videoPtrToDriverList(struct pci_device *
else
driverList[0] = "xgi";
break;
+ case 0x80ee:
+ if (dev->device_id == 0xbeef) {
+ driverList[0] = "vboxvideo";
+ }
+ break;
default: break;
}
for (i = 0; (i < returnListMax) && (driverList[i] != NULL); i++) {
case 0x1163: driverList[0] = "rendition"; break;
case 0x5333:
switch (dev->device_id)

View File

@ -1,89 +0,0 @@
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Events.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Events.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Events.c
@@ -518,22 +518,26 @@ xf86VTSwitch()
* Keep the order: Disable Device > LeaveVT
* EnterVT > EnableDevice
*/
+
+ for (i = 0; i < xf86NumScreens; i++)
+ xf86Screens[i]->LeaveVT(i, 0);
+
+ for (ih = InputHandlers; ih; ih = ih->next) {
+ if (ih->is_input)
+ xf86DisableInputHandler(ih);
+ else
+ xf86DisableGeneralHandler(ih);
+ }
+
pInfo = xf86InputDevs;
while (pInfo) {
if (pInfo->dev)
DisableDevice(pInfo->dev);
pInfo = pInfo->next;
}
+ /* XXX HACK */
xf86EnterServerState(SETUP);
- for (i = 0; i < xf86NumScreens; i++)
- xf86Screens[i]->LeaveVT(i, 0);
- for (ih = InputHandlers; ih; ih = ih->next) {
- if (ih->is_input)
- xf86DisableInputHandler(ih);
- else
- xf86DisableGeneralHandler(ih);
- }
xf86AccessLeave(); /* We need this here, otherwise */
xf86AccessLeaveState(); /* console won't be restored */
@@ -563,14 +567,10 @@ xf86VTSwitch()
pInfo = xf86InputDevs;
while (pInfo) {
- if (pInfo->dev) {
- xf86ReleaseKeys(pInfo->dev);
+ if (pInfo->dev)
EnableDevice(pInfo->dev);
- }
pInfo = pInfo->next;
}
- /* XXX HACK */
- xf86ReleaseKeys(inputInfo.keyboard);
for (ih = InputHandlers; ih; ih = ih->next) {
if (ih->is_input)
xf86EnableInputHandler(ih);
@@ -580,6 +580,17 @@ xf86VTSwitch()
xf86UnblockSIGIO(prevSIGIO);
} else {
+
+ pInfo = xf86InputDevs;
+ while (pInfo) {
+ if (pInfo->dev) {
+ xf86ReleaseKeys(pInfo->dev);
+ }
+ pInfo = pInfo->next;
+ }
+ /* XXX HACK */
+ xf86ReleaseKeys(inputInfo.keyboard);
+
#ifdef XF86PM
if (xf86OSPMClose)
xf86OSPMClose();
@@ -630,14 +641,10 @@ xf86VTSwitch()
pInfo = xf86InputDevs;
while (pInfo) {
- if (pInfo->dev) {
- xf86ReleaseKeys(pInfo->dev);
+ if (pInfo->dev)
EnableDevice(pInfo->dev);
- }
pInfo = pInfo->next;
}
- /* XXX HACK */
- xf86ReleaseKeys(inputInfo.keyboard);
for (ih = InputHandlers; ih; ih = ih->next) {
if (ih->is_input)

View File

@ -1,62 +0,0 @@
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Bus.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Bus.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Bus.c
@@ -429,7 +429,7 @@ xf86GetEntityInfo(int entityIndex)
EntityInfoPtr pEnt;
int i;
- if (entityIndex >= xf86NumEntities)
+ if (entityIndex < 0 || entityIndex >= xf86NumEntities)
return NULL;
pEnt = xnfcalloc(1,sizeof(EntityInfoRec));
@@ -1816,6 +1816,20 @@ checkRoutingForScreens(xf86State state)
xf86FreeResList(pResVGA);
}
+CARD16
+xf86BusesClaimed(void)
+{
+ CARD16 ret = 0;
+
+ if (pciSlotClaimed) ret |= 1 << BUS_PCI;
+ if (fbSlotClaimed) ret |= 1 << BUS_NONE;
+#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
+ if (sbusSlotClaimed) ret |= 1 << BUS_SBUS;
+#endif
+
+ return ret;
+}
+
/*
* xf86PostProbe() -- Allocate all non conflicting resources
* This function gets called by xf86Init().
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Priv.h
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Priv.h
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Priv.h
@@ -123,6 +123,7 @@ extern RootWinPropPtr *xf86RegisteredPro
/* xf86Bus.c */
+CARD16 xf86BusesClaimed(void);
void xf86BusProbe(void);
void xf86ChangeBusIndex(int oldIndex, int newIndex);
void xf86AccessInit(void);
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86fbBus.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86fbBus.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86fbBus.c
@@ -58,7 +58,10 @@ xf86ClaimFbSlot(DriverPtr drvp, int chip
{
EntityPtr p;
int num;
-
+
+ if (xf86BusesClaimed() & ~(1 << BUS_NONE))
+ return -1;
+
num = xf86AllocateEntity();
p = xf86Entities[num];
p->driver = drvp;

View File

@ -25,29 +25,28 @@ Subject: [PATCH] Fixed SYNC extension trigger BlockHandler test.
This fixes a problem introduced with commit 1f4fb022 where an idle counter
expires unnoticed.
Index: xorg-server-1.6.3.901/Xext/sync.c
===================================================================
--- xorg-server-1.6.3.901.orig/Xext/sync.c
+++ xorg-server-1.6.3.901/Xext/sync.c
@@ -222,8 +222,7 @@ SyncCreateCounter(
);
================================================================================
--- xorg-server-1.7.4/Xext/sync.c
+++ xorg-server-1.7.4/Xext/sync.c
@@ -94,7 +94,7 @@
#define XSyncCAAllTrigger \
(XSyncCACounter | XSyncCAValueType | XSyncCAValue | XSyncCATestType)
static void SyncComputeBracketValues(
- SyncCounter * /* pCounter */,
- Bool /* startOver */
+ SyncCounter * /* pCounter */
);
-static void SyncComputeBracketValues(SyncCounter *, Bool);
+static void SyncComputeBracketValues(SyncCounter *);
static void
@@ -333,7 +332,7 @@ SyncDeleteTriggerFromCounter(pTrigger)
static void SyncInitServerTime(void);
@@ -167,7 +167,7 @@
}
if (IsSystemCounter(pTrigger->pCounter))
- SyncComputeBracketValues(pTrigger->pCounter, /*startOver*/ TRUE);
+ SyncComputeBracketValues(pTrigger->pCounter);
}
@@ -361,7 +360,7 @@ SyncAddTriggerToCounter(pTrigger)
@@ -194,7 +194,7 @@
pTrigger->pCounter->pTriglist = pCur;
if (IsSystemCounter(pTrigger->pCounter))
@ -56,16 +55,16 @@ Index: xorg-server-1.6.3.901/Xext/sync.c
return Success;
}
@@ -531,7 +530,7 @@ SyncInitTrigger(client, pTrigger, counte
@@ -351,7 +351,7 @@
}
else if (IsSystemCounter(pCounter))
{
- SyncComputeBracketValues(pCounter, /*startOver*/ TRUE);
+ SyncComputeBracketValues(pCounter);
}
return Success;
@@ -829,13 +828,14 @@ SyncChangeCounter(pCounter, newval)
@@ -640,13 +640,14 @@
for (ptl = pCounter->pTriglist; ptl; ptl = pnext)
{
pnext = ptl->next;
@ -82,18 +81,16 @@ Index: xorg-server-1.6.3.901/Xext/sync.c
}
}
@@ -1117,9 +1117,8 @@ SyncDestroySystemCounter(pSysCounter)
@@ -913,7 +914,7 @@
}
static void
-SyncComputeBracketValues(pCounter, startOver)
+SyncComputeBracketValues(pCounter)
SyncCounter *pCounter;
- Bool startOver;
-SyncComputeBracketValues(SyncCounter *pCounter, Bool startOver)
+SyncComputeBracketValues(SyncCounter *pCounter)
{
SyncTriggerList *pCur;
SyncTrigger *pTrigger;
@@ -1136,58 +1135,53 @@ SyncComputeBracketValues(pCounter, start
@@ -930,58 +931,53 @@
if (ct == XSyncCounterNeverChanges)
return;
@ -191,7 +188,7 @@ Index: xorg-server-1.6.3.901/Xext/sync.c
} /* end for each trigger */
if (pnewgtval || pnewltval)
@@ -2541,11 +2535,17 @@ IdleTimeQueryValue (pointer pCounter, CA
@@ -2273,11 +2269,17 @@
}
static void
@ -214,7 +211,7 @@ Index: xorg-server-1.6.3.901/Xext/sync.c
if (!pIdleTimeValueLess && !pIdleTimeValueGreater)
return;
@@ -2563,46 +2563,57 @@ IdleTimeBlockHandler(pointer env, struct
@@ -2295,46 +2297,57 @@
* want level or edge trigger. Check the trigger list against the
* current idle time, and if any succeed, bomb out of select()
* immediately so we can reschedule.

View File

@ -1,10 +1,10 @@
Index: hw/xfree86/parser/Makefile.am
===================================================================
--- hw/xfree86/parser/Makefile.am.orig
================================================================================
--- hw/xfree86/parser/Makefile.am
+++ hw/xfree86/parser/Makefile.am
@@ -22,7 +22,7 @@ libxf86config_a_SOURCES = \
DRI.c \
Extensions.c
@@ -33,7 +33,7 @@
$(INTERNAL_SOURCES)
libxf86config_a_CFLAGS = $(AM_CFLAGS)
-AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -fPIC

View File

@ -1,22 +0,0 @@
Index: xorg-server-1.6.3.901/xkb/xkbPrKeyEv.c
===================================================================
--- xorg-server-1.6.3.901.orig/xkb/xkbPrKeyEv.c
+++ xorg-server-1.6.3.901/xkb/xkbPrKeyEv.c
@@ -95,17 +95,6 @@ int xiEvent;
else if ((xE->u.u.type==KeyRelease ||
xE->u.u.type == DeviceKeyRelease) &&
(!(keyc->down[key>>3]&(1<<(key&7))))) {
- XkbLastRepeatEvent= (pointer)&xE;
- if (xiEvent)
- xE->u.u.type = DeviceKeyPress;
- else
- xE->u.u.type = KeyPress;
- XkbHandleActions(keybd,keybd,xE,count);
- if (xiEvent)
- xE->u.u.type = DeviceKeyRelease;
- else
- xE->u.u.type = KeyRelease;
- XkbHandleActions(keybd,keybd,xE,count);
XkbLastRepeatEvent= NULL;
return;
}

View File

@ -1,13 +0,0 @@
Index: xorg-server-1.6.3.901/hw/xfree86/dri/dri.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/dri/dri.c
+++ xorg-server-1.6.3.901/hw/xfree86/dri/dri.c
@@ -75,7 +75,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN
#define PCI_BUS_NO_DOMAIN(bus) ((bus) & 0xffu)
#if !defined(PANORAMIX)
-extern Bool noPanoramiXExtension;
+Bool noPanoramiXExtension = TRUE;
#endif
static int DRIEntPrivIndex = -1;

View File

@ -1,15 +0,0 @@
Index: xorg-server-1.6.3.901/hw/xfree86/loader/loadmod.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/loader/loadmod.c
+++ xorg-server-1.6.3.901/hw/xfree86/loader/loadmod.c
@@ -401,8 +401,8 @@ FindModuleInSubdir(const char *dirpath,
while ((direntry = readdir(dir))) {
if (direntry->d_name[0] == '.')
continue;
- if ((stat(direntry->d_name, &stat_buf) == 0) && S_ISDIR(stat_buf.st_mode)) {
- snprintf(tmpBuf, PATH_MAX, "%s/%s", dirpath, direntry->d_name);
+ snprintf(tmpBuf, PATH_MAX, "%s/%s", dirpath, direntry->d_name);
+ if ((stat(tmpBuf, &stat_buf) == 0) && S_ISDIR(stat_buf.st_mode)) {
if ((ret = FindModuleInSubdir(tmpBuf, module)))
break;
continue;

View File

@ -1,11 +1,11 @@
--- configure.ac.orig 2009-11-27 21:59:22.000000000 +0100
+++ configure.ac 2009-11-27 22:03:59.000000000 +0100
@@ -466,7 +466,7 @@
--- configure.ac
+++ configure.ac
@@ -491,7 +491,7 @@
AC_ARG_WITH(fontdir, AS_HELP_STRING([--with-fontdir=FONTDIR], [Path to top level dir where fonts are installed (default: ${libdir}/X11/fonts)]),
[ FONTDIR="$withval" ],
[ FONTDIR="${libdir}/X11/fonts" ])
-DEFAULT_FONT_PATH="${FONTDIR}/misc:unscaled,${FONTDIR}/truetype/,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi:unscaled,${FONTDIR}/75dpi:unscaled"
+DEFAULT_FONT_PATH="${FONTDIR}/misc:unscaled,${FONTDIR}/truetype/,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi:unscaled,${FONTDIR}/75dpi:unscaled,${FONTDIR}/URW,${FONTDIR}/cyrillic"
-DEFAULT_FONT_PATH="${FONTDIR}/misc:unscaled,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi:unscaled,${FONTDIR}/75dpi:unscaled"
+DEFAULT_FONT_PATH="${FONTDIR}/misc:unscaled,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi:unscaled,${FONTDIR}/75dpi:unscaled,${FONTDIR}/URW,${FONTDIR}/cyrillic"
case $host_os in
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
esac

View File

@ -1,12 +0,0 @@
Index: hw/kdrive/src/kdrive.c
===================================================================
--- hw/kdrive/src/kdrive.c.orig
+++ hw/kdrive/src/kdrive.c
@@ -1380,6 +1380,7 @@ OsVendorFatalError(void)
int
DPMSSet(ClientPtr client, int level)
{
+ return 0;
}
int

View File

@ -1,11 +1,11 @@
Index: hw/xfree86/common/xf86Globals.c
===================================================================
--- hw/xfree86/common/xf86Globals.c.orig
================================================================================
--- hw/xfree86/common/xf86Globals.c
+++ hw/xfree86/common/xf86Globals.c
@@ -141,7 +141,7 @@ xf86InfoRec xf86Info = {
@@ -143,7 +143,7 @@
#endif
};
const char *xf86ConfigFile = NULL;
const char *xf86InputDeviceList = NULL;
-const char *xf86ModulePath = DEFAULT_MODULE_PATH;
+const char *xf86ModulePath = DEFAULT_MODULE_PATH "/updates," DEFAULT_MODULE_PATH;
MessageType xf86ModPathFrom = X_DEFAULT;

View File

@ -1,8 +1,8 @@
Index: linux/lnx_init.c
===================================================================
--- linux/lnx_init.c.orig
================================================================================
--- linux/lnx_init.c
+++ linux/lnx_init.c
@@ -252,9 +252,6 @@ xf86OpenConsole(void)
@@ -230,9 +230,6 @@
{
struct termios nTty;
@ -12,7 +12,7 @@ Index: linux/lnx_init.c
/*
* now get the VT. This _must_ succeed, or else fail completely.
*/
@@ -266,6 +263,10 @@ xf86OpenConsole(void)
@@ -244,6 +241,10 @@
FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n",
strerror(errno));
@ -23,7 +23,7 @@ Index: linux/lnx_init.c
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
FatalError("xf86OpenConsole: VT_GETMODE failed %s\n",
strerror(errno));
@@ -384,6 +385,11 @@ xf86CloseConsole()
@@ -353,6 +354,11 @@
if (VTSwitch)
{
@ -35,7 +35,7 @@ Index: linux/lnx_init.c
/*
* Perform a switch back to the active VT when we were started
*/
@@ -398,11 +404,6 @@ xf86CloseConsole()
@@ -367,11 +373,6 @@
activeVT = -1;
}
@ -47,12 +47,10 @@ Index: linux/lnx_init.c
}
close(xf86Info.consoleFd); /* make the vt-manager happy */
Index: shared/VTsw_usl.c
===================================================================
--- shared/VTsw_usl.c.orig
--- shared/VTsw_usl.c
+++ shared/VTsw_usl.c
@@ -62,15 +62,15 @@ Bool
xf86VTSwitchAway()
@@ -62,15 +62,15 @@
xf86VTSwitchAway(void)
{
xf86Info.vtRequestsPending = FALSE;
+#ifdef OSSWITCHAWAY

View File

@ -1,6 +1,6 @@
Index: hw/xfree86/os-support/linux/lnx_acpi.c
===================================================================
--- hw/xfree86/os-support/linux/lnx_acpi.c.orig
================================================================================
--- hw/xfree86/os-support/linux/lnx_acpi.c
+++ hw/xfree86/os-support/linux/lnx_acpi.c
@@ -32,8 +32,10 @@
#define ACPI_VIDEO_HEAD_INVALID (~0u - 1)
@ -13,7 +13,7 @@ Index: hw/xfree86/os-support/linux/lnx_acpi.c
PMClose lnxACPIOpen(void);
/* in milliseconds */
@@ -52,6 +54,22 @@ lnxACPIReopen(OsTimerPtr timer, CARD32 t
@@ -52,6 +54,22 @@
#define LINE_LENGTH 80
@ -36,7 +36,7 @@ Index: hw/xfree86/os-support/linux/lnx_acpi.c
static int
lnxACPIGetEventFromOs(int fd, pmEvent *events, int num)
{
@@ -127,16 +145,13 @@ lnxACPIConfirmEventToOs(int fd, pmEvent
@@ -127,15 +145,14 @@
}
}
@ -48,14 +48,13 @@ Index: hw/xfree86/os-support/linux/lnx_acpi.c
int fd;
struct sockaddr_un addr;
int r = -1;
static int warned = 0;
-#ifdef DEBUG
- ErrorF("ACPI: OSPMOpen called\n");
-#endif
- DebugF("ACPI: OSPMOpen called\n");
if (ACPIihPtr || !xf86Info.pmFlag)
return NULL;
@@ -164,6 +179,27 @@ lnxACPIOpen(void)
@@ -164,6 +181,27 @@
return lnxCloseACPI;
}
@ -83,7 +82,7 @@ Index: hw/xfree86/os-support/linux/lnx_acpi.c
static void
lnxCloseACPI(void)
{
@@ -177,5 +213,11 @@ lnxCloseACPI(void)
@@ -175,5 +213,11 @@
shutdown(fd, 2);
close(fd);
ACPIihPtr = NULL;
@ -95,9 +94,7 @@ Index: hw/xfree86/os-support/linux/lnx_acpi.c
+ }
}
}
Index: hw/xfree86/os-support/linux/lnx_apm.c
===================================================================
--- hw/xfree86/os-support/linux/lnx_apm.c.orig
--- hw/xfree86/os-support/linux/lnx_apm.c
+++ hw/xfree86/os-support/linux/lnx_apm.c
@@ -12,6 +12,7 @@
@ -107,7 +104,7 @@ Index: hw/xfree86/os-support/linux/lnx_apm.c
#endif
#ifdef HAVE_APM
@@ -150,6 +151,14 @@ xf86OSPMOpen(void)
@@ -150,6 +151,14 @@
ret = lnxAPMOpen();
#endif

View File

@ -1,25 +0,0 @@
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -466,7 +466,7 @@ AC_ARG_WITH(builderstring, AS_HELP_STR
AC_ARG_WITH(fontdir, AS_HELP_STRING([--with-fontdir=FONTDIR], [Path to top level dir where fonts are installed (default: ${libdir}/X11/fonts)]),
[ FONTDIR="$withval" ],
[ FONTDIR="${libdir}/X11/fonts" ])
-DEFAULT_FONT_PATH="${FONTDIR}/misc:unscaled,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi:unscaled,${FONTDIR}/75dpi:unscaled"
+DEFAULT_FONT_PATH="${FONTDIR}/misc:unscaled,${FONTDIR}/truetype/,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi:unscaled,${FONTDIR}/75dpi:unscaled"
case $host_os in
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
esac
Index: hw/xfree86/Makefile.am
===================================================================
--- hw/xfree86/Makefile.am.orig
+++ hw/xfree86/Makefile.am
@@ -103,6 +103,7 @@ CPP_FILES_FLAGS = \
-DMISCFONTPATH="\"$(BASE_FONT_PATH)/misc:unscaled\"" \
-DT1FONTPATH="\"$(BASE_FONT_PATH)/Type1\"" \
-DTRUETYPEFONTPATH="\"$(BASE_FONT_PATH)/TTF\"" \
+ -DTRUETYPEFONTPATH="\"$(BASE_FONT_PATH)/truetype\"" \
-DDPI75FONTPATH="\"$(BASE_FONT_PATH)/75dpi:unscaled\"" \
-DDPI100FONTPATH="\"$(BASE_FONT_PATH)/100dpi:unscaled\"" \
-DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\"

View File

@ -1,14 +1,25 @@
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86AutoConfig.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86AutoConfig.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86AutoConfig.c
@@ -175,6 +175,9 @@ videoPtrToDriverList(struct pci_device *
================================================================================
--- xorg-server-1.7.4/hw/xfree86/common/xf86AutoConfig.c
+++ xorg-server-1.7.4/hw/xfree86/common/xf86AutoConfig.c
@@ -186,12 +186,14 @@
case 0x3d3d: driverList[0] = "glint"; break;
case 0x105d: driverList[0] = "i128"; break;
case 0x8086:
if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
driverList[0] = "i740";
+ } if ((dev->device_id == 0x8109) || (dev->device_id == 0x8108) || (dev->device_id == 0x4102) ) {
+ driverList[0] = "psb";
+ driverList[1] = "psb_drv";
} else {
driverList[0] = "intel";
driverList[1] = "i810";
- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
- driverList[0] = "i740";
- } else if (dev->device_id == 0x8108) {
- break; /* "hooray" for poulsbo */
- } else {
- driverList[0] = "intel";
+ switch (dev->device_id)
+ {
+ case 0x00d1: case 0x7800:
+ driverList[0] = "i740"; break;
+ case 0x8109: case 0x8108: case 0x4102:
+ driverList[0] = "psb"; driverList[1] = "psb_drv"; break;
+ default:
+ driverList[0] = "intel"; break;
}
break;
case 0x102b: driverList[0] = "mga"; break;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f3c0e43cf73e7d438350016cabd9957dc000ded9c5fdeebf84a02df61963b2ce
size 4678406

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8ec11b3f2c6f84c21e8cd9804672ba6e27fda3e913d58dd947205ea253e33f8
size 4919597

View File

@ -1,6 +1,6 @@
Index: hw/dmx/Makefile.am
===================================================================
--- hw/dmx/Makefile.am.orig
================================================================================
--- hw/dmx/Makefile.am
+++ hw/dmx/Makefile.am
@@ -1,6 +1,6 @@
DIST_SUBDIRS = input vnc config glxProxy examples doc
@ -10,11 +10,9 @@ Index: hw/dmx/Makefile.am
bin_PROGRAMS = Xdmx
if XINERAMA
Index: hw/dmx/dmx-config.h
===================================================================
--- hw/dmx/dmx-config.h.orig
--- hw/dmx/dmx-config.h
+++ hw/dmx/dmx-config.h
@@ -72,8 +72,8 @@
@@ -72,7 +72,7 @@
/* Enable the DMX extension */
#define DMXEXT
@ -23,25 +21,20 @@ Index: hw/dmx/dmx-config.h
+/* Disable VNC ability */
+#undef DMXVNC
/* Disable the extensions that are not currently supported */
#undef MULTIBUFFER
Index: hw/dmx/input/Makefile.am
===================================================================
--- hw/dmx/input/Makefile.am.orig
#endif /* DMX_CONFIG_H */
--- hw/dmx/input/Makefile.am
+++ hw/dmx/input/Makefile.am
@@ -65,7 +65,6 @@ AM_CFLAGS = $(DIX_CFLAGS) \
@@ -61,7 +61,6 @@
AM_CFLAGS = $(DIX_CFLAGS) \
-I$(top_srcdir)/hw/dmx \
$(GLX_INCS) \
-DHAVE_DMX_CONFIG_H \
- -DDMXVNC=1 \
$(GLX_DEFS) \
@DMXMODULES_CFLAGS@
Index: hw/dmx/vnc/Makefile.am
===================================================================
--- hw/dmx/vnc/Makefile.am.orig
--- hw/dmx/vnc/Makefile.am
+++ hw/dmx/vnc/Makefile.am
@@ -37,7 +37,6 @@ AM_CFLAGS = \
@@ -37,7 +37,6 @@
-I$(top_srcdir)/hw/xfree86/common \
-DHAVE_DMX_CONFIG_H \
$(DIX_CFLAGS) \

View File

@ -1,8 +1,27 @@
Index: xorg-server-1.6.3.901/hw/vnc/cursor.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/cursor.c
+++ xorg-server-1.6.3.901/hw/vnc/cursor.c
@@ -262,7 +262,7 @@ rfbSendCursorPos(cl, pScreen)
================================================================================
--- xorg-server-1.7.4/configure.ac
+++ xorg-server-1.7.4/configure.ac
@@ -1407,7 +1407,7 @@
XVNC_CFLAGS="-DVNCSERVER -DHAVE_XVNC_CONFIG_H"
AC_SUBST([XVNC_CFLAGS])
VNC_INCLUDES="$XEXT_INC $RENDER_INC $XTRAP_INC $RECORD_INC"
- XVNC_LIBS="$CONFIG_LIB $XSERVER_LIBS $FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB $LIBS"
+ XVNC_LIBS="$XEXT_LIB $MAIN_LIB $CONFIG_LIB $XSERVER_LIBS $FB_LIB $MI_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB $FIXES_LIB $LIBS"
AC_SUBST([XVNC_LIBS])
if test "x$GLX" = xyes; then
--- xorg-server-1.7.4/hw/vnc/cursor.c
+++ xorg-server-1.7.4/hw/vnc/cursor.c
@@ -33,6 +33,7 @@
#include "sprite.h"
#include "cursorstr.h"
#include "servermd.h"
+#include "inputstr.h"
/* Copied from Xvnc/lib/font/util/utilbitmap.c */
@@ -262,7 +263,7 @@
#if XFREE86VNC
if (pScreen == pCursorScreen)
@ -11,11 +30,9 @@ Index: xorg-server-1.6.3.901/hw/vnc/cursor.c
#else
rfbSpriteGetCursorPos(pScreen, &x, &y);
#endif
Index: xorg-server-1.6.3.901/hw/vnc/cutpaste.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/cutpaste.c
+++ xorg-server-1.6.3.901/hw/vnc/cutpaste.c
@@ -66,7 +66,7 @@ rfbSetXCutText(char *str, int len)
--- xorg-server-1.7.4/hw/vnc/cutpaste.c
+++ xorg-server-1.7.4/hw/vnc/cutpaste.c
@@ -66,7 +66,7 @@
event.u.selectionClear.time = GetTimeInMillis();
event.u.selectionClear.window = pSel->window;
event.u.selectionClear.atom = pSel->selection;
@ -24,11 +41,9 @@ Index: xorg-server-1.6.3.901/hw/vnc/cutpaste.c
NoEventMask, NoEventMask /* CantBeFiltered */,
NullGrab);
}
Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/dispcur.c
+++ xorg-server-1.6.3.901/hw/vnc/dispcur.c
@@ -74,7 +74,10 @@ in this Software without prior written a
--- xorg-server-1.7.4/hw/vnc/dispcur.c
+++ xorg-server-1.7.4/hw/vnc/dispcur.c
@@ -74,7 +74,10 @@
/* per-screen private data */
@ -40,7 +55,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
static Bool rfbDCCloseScreen(int index, ScreenPtr pScreen);
@@ -205,7 +208,7 @@ rfbDCRealizeCursor (pScreen, pCursor)
@@ -205,7 +208,7 @@
CursorPtr pCursor;
{
if (pCursor->bits->refcnt <= 1)
@ -49,7 +64,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
return TRUE;
}
@@ -303,7 +306,7 @@ rfbDCRealize (ScreenPtr pScreen, CursorP
@@ -303,7 +306,7 @@
xfree ((pointer) pPriv);
return (rfbDCCursorPtr)NULL;
}
@ -58,7 +73,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
return pPriv;
}
pPriv->pPicture = 0;
@@ -321,7 +324,7 @@ rfbDCRealize (ScreenPtr pScreen, CursorP
@@ -321,7 +324,7 @@
xfree ((pointer) pPriv);
return (rfbDCCursorPtr)NULL;
}
@ -67,7 +82,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
/* create the two sets of bits, clipping as appropriate */
@@ -368,7 +371,7 @@ rfbDCUnrealizeCursor (pScreen, pCursor)
@@ -368,7 +371,7 @@
rfbDCCursorPtr pPriv;
pPriv = (rfbDCCursorPtr)dixLookupPrivate(&pCursor->bits->devPrivates,
@ -76,7 +91,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
if (pPriv && (pCursor->bits->refcnt <= 1))
{
if (pPriv->sourceBits)
@@ -380,7 +383,7 @@ rfbDCUnrealizeCursor (pScreen, pCursor)
@@ -380,7 +383,7 @@
FreePicture (pPriv->pPicture, 0);
#endif
xfree ((pointer) pPriv);
@ -85,7 +100,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
}
return TRUE;
}
@@ -439,7 +442,7 @@ rfbDCPutUpCursor (pScreen, pCursor, x, y
@@ -439,7 +442,7 @@
WindowPtr pWin;
pPriv = (rfbDCCursorPtr)dixLookupPrivate(&pCursor->bits->devPrivates,
@ -94,7 +109,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
if (!pPriv)
{
pPriv = rfbDCRealize(pScreen, pCursor);
@@ -690,7 +693,7 @@ rfbDCMoveCursor (pScreen, pCursor, x, y,
@@ -690,7 +693,7 @@
PixmapPtr pTemp;
pPriv = (rfbDCCursorPtr)dixLookupPrivate(&pCursor->bits->devPrivates,
@ -103,11 +118,17 @@ Index: xorg-server-1.6.3.901/hw/vnc/dispcur.c
if (!pPriv)
{
pPriv = rfbDCRealize(pScreen, pCursor);
Index: xorg-server-1.6.3.901/hw/vnc/init.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/init.c
+++ xorg-server-1.6.3.901/hw/vnc/init.c
@@ -138,7 +138,7 @@ static void rfbCrossScreen(ScreenPtr pSc
--- xorg-server-1.7.4/hw/vnc/init.c
+++ xorg-server-1.7.4/hw/vnc/init.c
@@ -90,6 +90,7 @@
#include "dix.h"
#include "micmap.h"
#include "rfb.h"
+#include "xserver-properties.h"
#ifdef CORBA
#include <vncserverctrl.h>
@@ -138,7 +139,7 @@
static void
@ -116,7 +137,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/init.c
{
#if 0
DeviceIntPtr pDev = NULL;
@@ -775,8 +775,8 @@ InitInput(argc, argv)
@@ -775,8 +776,8 @@
char *argv[];
{
DeviceIntPtr p, k;
@ -127,71 +148,102 @@ Index: xorg-server-1.6.3.901/hw/vnc/init.c
RegisterKeyboardDevice(k);
RegisterPointerDevice(p);
@@ -843,7 +843,6 @@ rfbMouseProc(pDevice, onoff)
@@ -804,7 +805,7 @@
case DEVICE_INIT:
vncSetKeyboardDevice(pDevice);
KbdDeviceInit(pDevice, &keySyms, modMap);
- InitKeyboardDeviceStruct(pDev, &keySyms, modMap,
+ InitKeyboardDeviceStruct(pDevice, NULL,
(BellProcPtr)rfbSendBell,
(KbdCtrlProcPtr)NoopDDA);
break;
@@ -831,6 +832,8 @@
int onoff;
{
BYTE map[6];
+ Atom btn_labels[5] = {0};
+ Atom axes_labels[2] = {0};
DevicePtr pDev = (DevicePtr)pDevice;
switch (onoff)
@@ -842,10 +845,16 @@
map[3] = 3;
map[4] = 4;
map[5] = 5;
InitPointerDeviceStruct(pDev, map, 5,
- InitPointerDeviceStruct(pDev, map, 5,
- GetMotionHistory,
+ btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT);
+ btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE);
+ btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT);
+
+ axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X);
+ axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y);
+
+ InitPointerDeviceStruct(pDev, map, 5, btn_labels,
PtrDeviceControl,
GetMaximumEventsNum(), 2 /* numAxes */);
- GetMaximumEventsNum(), 2 /* numAxes */);
+ GetMaximumEventsNum(), 2 /* numAxes */, axes_labels);
vncSetPointerDevice(pDevice);
Index: xorg-server-1.6.3.901/hw/vnc/kbdptr.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/kbdptr.c
+++ xorg-server-1.6.3.901/hw/vnc/kbdptr.c
@@ -74,19 +74,26 @@ vncSetPointerDevice(DeviceIntPtr ptr)
break;
--- xorg-server-1.7.4/hw/vnc/kbdptr.c
+++ xorg-server-1.7.4/hw/vnc/kbdptr.c
@@ -39,6 +39,7 @@
#include "mi.h"
#include "mipointer.h"
#include "keyboard.h"
+#include "xkbsrv.h"
#ifdef DMXVNC
#include "dmxinput.h"
@@ -69,15 +70,16 @@
ptrDevice = ptr;
}
-
#ifndef DMXVNC
static void
EnqueueMotion(DeviceIntPtr ptrDev, int x, int y)
{
- xEvent *events = (xEvent*) calloc(sizeof(xEvent), GetMaximumEventsNum());
+ int maxEventsNum = GetMaximumEventsNum();
+ xEvent *events = (xEvent*) calloc(sizeof(xEvent), maxEventsNum);
+ EventListPtr evls= calloc(sizeof(EventList), maxEventsNum);
int detail = 0, valuators[2], nevents, i;
+ EventListPtr events;
valuators[0] = x;
valuators[1] = y;
+ for (i = 0; i < maxEventsNum; i++) {
+ evls[i].event = &events[i];
+ evls[i].evlen = sizeof(xEvent);
+ }
+ GetEventList(&events);
+
if (!ptrDev) {
ErrorF("VNC: In EnqueueMotion() ptrDev=NULL\n");
return;
}
- nevents = GetPointerEvents(events, ptrDev, MotionNotify, detail,
+ nevents = GetPointerEvents(evls, ptrDev, MotionNotify, detail,
@@ -85,8 +87,7 @@
nevents = GetPointerEvents(events, ptrDev, MotionNotify, detail,
POINTER_ABSOLUTE, 0, 2, valuators);
for (i = 0; i < nevents; i++)
mieqEnqueue(ptrDev, events + i);
free(events);
+ free(evls);
- mieqEnqueue(ptrDev, events + i);
- free(events);
+ mieqEnqueue(ptrDev, (InternalEvent*)(events + i)->event);
}
#endif
@@ -94,33 +101,47 @@ EnqueueMotion(DeviceIntPtr ptrDev, int x
@@ -94,8 +95,10 @@
static void
EnqueueButton(DeviceIntPtr ptrDev, int type, int detail)
{
- xEvent *events = (xEvent*) calloc(sizeof(xEvent), GetMaximumEventsNum());
+ int maxEventsNum = GetMaximumEventsNum();
+ xEvent *events = (xEvent*) calloc(sizeof(xEvent), maxEventsNum);
+ EventListPtr evls= calloc(sizeof(EventList), maxEventsNum);
int nevents, i;
+ for (i = 0; i < maxEventsNum; i++) {
+ evls[i].event = &events[i];
+ evls[i].evlen = sizeof(xEvent);
+ }
+ EventListPtr events;
+ GetEventList(&events);
+
if (!ptrDev) {
ErrorF("VNC: In EnqueueButton() ptrDev=NULL\n");
return;
}
- nevents = GetPointerEvents(events, ptrDev, type, detail,
+ nevents = GetPointerEvents(evls, ptrDev, type, detail,
@@ -103,27 +106,26 @@
nevents = GetPointerEvents(events, ptrDev, type, detail,
POINTER_ABSOLUTE, 0, 0, NULL/*valuators*/);
for (i = 0; i < nevents; i++)
mieqEnqueue(ptrDev, events + i);
free(events);
+ free(evls);
- mieqEnqueue(ptrDev, events + i);
- free(events);
+ mieqEnqueue(ptrDev, (InternalEvent*)(events + i)->event);
}
@ -199,41 +251,87 @@ Index: xorg-server-1.6.3.901/hw/vnc/kbdptr.c
EnqueueKey(DeviceIntPtr kbdDev, int type, int detail)
{
- xEvent *events = (xEvent*) calloc(sizeof(xEvent), GetMaximumEventsNum());
+ int maxEventsNum = GetMaximumEventsNum();
+ xEvent *events = (xEvent*) calloc(sizeof(xEvent), maxEventsNum);
+ EventListPtr evls= calloc(sizeof(EventList), maxEventsNum);
int nevents, i;
+ for (i = 0; i < maxEventsNum; i++) {
+ evls[i].event = &events[i];
+ evls[i].evlen = sizeof(xEvent);
+ }
+ EventListPtr events;
+ GetEventList(&events);
+
if (!kbdDev) {
ErrorF("VNC: In EnqueueKey() kbdDev=NULL\n");
return;
}
- nevents = GetKeyboardEvents(events, kbdDev, type, detail);
+ nevents = GetKeyboardEvents(evls, kbdDev, type, detail);
nevents = GetKeyboardEvents(events, kbdDev, type, detail);
for (i = 0; i < nevents; i++)
mieqEnqueue(kbdDev, events + i);
free(events);
+ free(evls);
- mieqEnqueue(kbdDev, events + i);
- free(events);
+ mieqEnqueue(kbdDev, (InternalEvent*)(events + i)->event);
}
-
/*
* Called when the rfbserver receives a rfbKeyEvent event from a client.
* Put an X keyboard event into the event queue.
@@ -133,6 +135,7 @@
{
const int type = down ? KeyPress : KeyRelease;
KeySymsPtr keySyms;
+ XkbStateRec *xkb;
int i;
int keyCode = 0;
int freeIndex = -1;
@@ -145,7 +148,7 @@
if (!kbdDevice)
return;
@@ -256,7 +277,7 @@ KbdAddEvent(Bool down, KeySym keySym, rf
- keySyms = &kbdDevice->key->curKeySyms;
+ keySyms = XkbGetCoreMap(kbdDevice);
#ifdef CORBA
if (cl) {
@@ -256,18 +259,19 @@
shiftMustBePressed = TRUE;
}
- SendMappingNotify(MappingKeyboard, keyCode, 1, serverClient);
+ SendMappingNotify(kbdDevice, MappingKeyboard, keyCode, 1, serverClient);
+ XkbApplyMappingChange(kbdDevice, keySyms, keyCode, 1, NULL, serverClient);
ErrorF("KbdAddEvent: unknown KeySym 0x%x - allocating KeyCode %d\n",
(int)keySym, keyCode);
Index: xorg-server-1.6.3.901/hw/vnc/rfbkeyb.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/rfbkeyb.c
+++ xorg-server-1.6.3.901/hw/vnc/rfbkeyb.c
@@ -388,7 +388,7 @@ static XF86ModuleVersionInfo xf86rfbKeyb
}
+ xkb = &kbdDevice->key->xkbInfo->state;
if (down) {
- if (shiftMustBePressed && !(kbdDevice->key->state & ShiftMask)) {
+ if (shiftMustBePressed && !(XkbStateFieldFromRec(xkb) & ShiftMask)) {
fakeShiftPress = TRUE;
EnqueueKey(kbdDevice, KeyPress, SHIFT_L_KEY_CODE);
}
- if (shiftMustBeReleased && (kbdDevice->key->state & ShiftMask)) {
+ if (shiftMustBeReleased && (XkbStateFieldFromRec(xkb) & ShiftMask)) {
if (KEY_IS_PRESSED(SHIFT_L_KEY_CODE)) {
fakeShiftLRelease = TRUE;
EnqueueKey(kbdDevice, KeyRelease, SHIFT_L_KEY_CODE);
--- xorg-server-1.7.4/hw/vnc/rdp.c
+++ xorg-server-1.7.4/hw/vnc/rdp.c
@@ -27,6 +27,7 @@
#include <errno.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
+#include <arpa/inet.h>
#include "rfb.h"
typedef struct rdpClientRec {
--- xorg-server-1.7.4/hw/vnc/rfbkeyb.c
+++ xorg-server-1.7.4/hw/vnc/rfbkeyb.c
@@ -147,7 +147,7 @@
#ifdef XKB
if (noXkbExtension) {
#endif
- InitKeyboardDeviceStruct(pDev, &keySyms, modMap,
+ InitKeyboardDeviceStruct(device, NULL,
(BellProcPtr)rfbSendBell,
(KbdCtrlProcPtr)NoopDDA);
#ifdef XKB
@@ -388,7 +388,7 @@
"xf4vnc Project, see http://xf4vnc.sf.net",
MODINFOSTRING1,
MODINFOSTRING2,
@ -242,11 +340,24 @@ Index: xorg-server-1.6.3.901/hw/vnc/rfbkeyb.c
1, 0, 0,
ABI_CLASS_XINPUT,
ABI_XINPUT_VERSION,
Index: xorg-server-1.6.3.901/hw/vnc/rfbmouse.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/rfbmouse.c
+++ xorg-server-1.6.3.901/hw/vnc/rfbmouse.c
@@ -98,10 +98,12 @@ xf86rfbMouseControlProc(DeviceIntPtr dev
--- xorg-server-1.7.4/hw/vnc/rfbmouse.c
+++ xorg-server-1.7.4/hw/vnc/rfbmouse.c
@@ -51,7 +51,7 @@
#include <mipointer.h>
#endif
#include "rfb.h"
-
+#include "xserver-properties.h"
unsigned char ptrAcceleration = 50;
@@ -95,13 +95,18 @@
{
BYTE map[6];
DevicePtr pDev = (DevicePtr)device;
+ Atom btn_labels[5] = {0};
+ Atom axes_labels[2] = {0};
+
void *func1;
int (*func2)(void);
@ -259,17 +370,31 @@ Index: xorg-server-1.6.3.901/hw/vnc/rfbmouse.c
if (LoaderSymbol("GetMotionHistorySize"))
func2 = LoaderSymbol("GetMotionHistorySize");
@@ -120,7 +122,9 @@ xf86rfbMouseControlProc(DeviceIntPtr dev
@@ -119,10 +124,21 @@
map[3] = 3;
map[4] = 4;
map[5] = 5;
InitPointerDeviceStruct(pDev, map, 5,
- InitPointerDeviceStruct(pDev, map, 5,
+ btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT);
+ btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE);
+ btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT);
+ btn_labels[3] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_UP);
+ btn_labels[4] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_DOWN);
+
+ axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X);
+ axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y);
+
+ InitPointerDeviceStruct(pDev, map, 5, btn_labels,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3
func1,
+#endif
PtrDeviceControl,
(*func2)(), 2);
- (*func2)(), 2);
+ (*func2)(), 2, axes_labels);
break;
@@ -243,7 +247,7 @@ static XF86ModuleVersionInfo xf86rfbMous
case DEVICE_ON:
@@ -243,7 +259,7 @@
"xf4vnc Project, see http://xf4vnc.sf.net",
MODINFOSTRING1,
MODINFOSTRING2,
@ -278,11 +403,17 @@ Index: xorg-server-1.6.3.901/hw/vnc/rfbmouse.c
1, 0, 0,
ABI_CLASS_XINPUT,
ABI_XINPUT_VERSION,
Index: xorg-server-1.6.3.901/hw/vnc/rfbserver.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/rfbserver.c
+++ xorg-server-1.6.3.901/hw/vnc/rfbserver.c
@@ -1122,8 +1122,8 @@ rfbProcessClientNormalMessage(cl)
--- xorg-server-1.7.4/hw/vnc/rfbserver.c
+++ xorg-server-1.7.4/hw/vnc/rfbserver.c
@@ -53,6 +53,7 @@
#include "propertyst.h"
#include <X11/Xatom.h>
#include <mi.h>
+#include <inputstr.h>
#ifdef CORBA
#include <vncserverctrl.h>
@@ -1122,8 +1123,8 @@
{
int x, y;
@ -293,11 +424,9 @@ Index: xorg-server-1.6.3.901/hw/vnc/rfbserver.c
}
#endif
Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/sprite.c
+++ xorg-server-1.6.3.901/hw/vnc/sprite.c
@@ -112,7 +112,8 @@ static void rfbSpriteSaveDoomedAreas
--- xorg-server-1.7.4/hw/vnc/sprite.c
+++ xorg-server-1.7.4/hw/vnc/sprite.c
@@ -112,7 +112,8 @@
static RegionPtr rfbSpriteRestoreAreas(WindowPtr pWin, RegionPtr pRgnExposed);
static void rfbSpriteComputeSaved(ScreenPtr pScreen);
@ -307,7 +436,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
#define SCREEN_PROLOGUE(pScreen, field) ((pScreen)->field = \
((rfbSpriteScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, \
@@ -144,7 +145,8 @@ static GCFuncs rfbSpriteGCFuncs = {
@@ -144,7 +145,8 @@
rfbSpriteCopyClip,
};
@ -317,7 +446,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
#define GC_FUNC_PROLOGUE(pGC) \
rfbSpriteGCPtr pGCPriv = \
@@ -289,23 +291,27 @@ static GCOps rfbSpriteGCOps = {
@@ -289,23 +291,27 @@
* pointer-sprite method table
*/
@ -350,7 +479,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
/*
@@ -1963,7 +1969,7 @@ rfbSpriteLineHelper()
@@ -1963,7 +1969,7 @@
#define SPRITE_PAD 8
static Bool
@ -359,7 +488,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
{
rfbSpriteScreenPtr pScreenPriv;
@@ -1975,7 +1981,7 @@ rfbSpriteRealizeCursor (ScreenPtr pScree
@@ -1975,7 +1981,7 @@
}
static Bool
@ -368,7 +497,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
{
rfbSpriteScreenPtr pScreenPriv;
@@ -1985,7 +1991,7 @@ rfbSpriteUnrealizeCursor (ScreenPtr pScr
@@ -1985,7 +1991,7 @@
}
static void
@ -377,7 +506,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
{
rfbSpriteScreenPtr pScreenPriv;
rfbClientPtr cl, nextCl;
@@ -2101,13 +2107,24 @@ rfbSpriteSetCursor (ScreenPtr pScreen, C
@@ -2101,13 +2107,24 @@
}
static void
@ -404,7 +533,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
}
/*
@@ -2215,9 +2232,7 @@ rfbSpriteComputeSaved (pScreen)
@@ -2215,9 +2232,7 @@
*/
static Bool
@ -415,7 +544,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
{
rfbClientPtr cl;
rfbSpriteScreenPtr pPriv;
@@ -2230,7 +2245,7 @@ rfbDisplayCursor(pScreen, pCursor)
@@ -2230,7 +2245,7 @@
pPriv = (rfbSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates,
rfbSpriteScreenKey);
@ -424,10 +553,8 @@ Index: xorg-server-1.6.3.901/hw/vnc/sprite.c
/* send new cursor shape to interested viewers */
for (cl = rfbClientHead; cl ; cl = cl->next) {
Index: xorg-server-1.6.3.901/hw/vnc/vncext.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/vnc/vncext.c
+++ xorg-server-1.6.3.901/hw/vnc/vncext.c
--- xorg-server-1.7.4/hw/vnc/vncext.c
+++ xorg-server-1.7.4/hw/vnc/vncext.c
@@ -36,8 +36,9 @@
#include <arpa/inet.h>
#include <netdb.h>
@ -440,7 +567,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/vncext.c
int VncSelectNotify(ClientPtr client, BOOL onoff);
void VncExtensionInit(void);
@@ -514,7 +515,7 @@ GenerateVncConnectedEvent(int sock)
@@ -514,7 +515,7 @@
else
conn.ipaddress = (CARD32)peer.sin_addr.s_addr;
@ -449,7 +576,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/vncext.c
NoEventMask, NullGrab);
}
pn = pn->next;
@@ -557,7 +558,7 @@ GenerateVncChromiumConnectedEvent(int so
@@ -557,7 +558,7 @@
else
conn.ipaddress = (CARD32)peer.sin_addr.s_addr;
@ -458,7 +585,7 @@ Index: xorg-server-1.6.3.901/hw/vnc/vncext.c
NoEventMask, NullGrab);
}
pn = pn->next;
@@ -586,7 +587,7 @@ GenerateVncDisconnectedEvent(int sock)
@@ -586,7 +587,7 @@
conn.type = VncEventBase + XVncDisconnected;
conn.sequenceNumber = pn->client->sequence;
conn.connected = sock;
@ -467,20 +594,28 @@ Index: xorg-server-1.6.3.901/hw/vnc/vncext.c
NoEventMask, NullGrab);
}
pn = pn->next;
Index: xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/vnc/vncInit.c
+++ xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
@@ -35,7 +35,7 @@
--- xorg-server-1.7.4/hw/xfree86/vnc/vncInit.c
+++ xorg-server-1.7.4/hw/xfree86/vnc/vncInit.c
@@ -34,8 +34,7 @@
#include "xf86.h"
#include "xf86_OSproc.h"
#include "xf86Resources.h"
-#include "xf86Resources.h"
-#include "xf86Version.h"
+#include "xorgVersion.h"
int vncScreenPrivateIndex = -1;
int inetdSock = -1;
@@ -56,11 +56,11 @@ static unsigned long VNCGeneration = 0;
@@ -48,6 +47,8 @@
extern void VncExtensionInit(void);
+extern void vncInitMouse(void);
+extern void vncInitKeyb(void);
Bool VNCInit(ScreenPtr pScreen, unsigned char *FBStart);
#ifndef XFree86LOADER
@@ -56,11 +57,11 @@
static const OptionInfoRec *VNCAvailableOptions(void *unused);
static void rfbWakeupHandler (int i, pointer blockData, unsigned long err, pointer pReadmask);
@ -497,7 +632,7 @@ Index: xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
static miPointerSpriteFuncRec vncCursorSpriteFuncs = {
vncCursorRealizeCursor,
@@ -389,23 +389,23 @@ VNCInit(ScreenPtr pScreen, unsigned char
@@ -389,23 +390,23 @@
/****** miPointerSpriteFunctions *******/
static Bool
@ -526,7 +661,7 @@ Index: xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
{
vncScreenPtr pScreenPriv = VNCPTR(pScreen);
@@ -426,11 +426,11 @@ vncCursorSetCursor(ScreenPtr pScreen, Cu
@@ -426,11 +427,11 @@
pScreenPriv->cursorIsDrawn = TRUE;
#endif
@ -540,7 +675,7 @@ Index: xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
{
vncScreenPtr pScreenPriv = VNCPTR(pScreen);
rfbClientPtr cl;
@@ -440,7 +440,7 @@ vncCursorMoveCursor(ScreenPtr pScreen, i
@@ -440,7 +441,7 @@
cl->cursorWasMoved = TRUE;
}
@ -549,7 +684,7 @@ Index: xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
}
Bool
@@ -505,9 +505,7 @@ vncUseHWCursorARGB(pScreen, pCursor)
@@ -505,9 +506,7 @@
#endif
static Bool
@ -560,7 +695,7 @@ Index: xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
{
vncScreenPtr pScreenPriv = VNCPTR(pScreen);
rfbClientPtr cl;
@@ -520,7 +518,7 @@ vncDisplayCursor(pScreen, pCursor)
@@ -520,7 +519,7 @@
cl->cursorWasChanged = TRUE;
}
@ -569,3 +704,19 @@ Index: xorg-server-1.6.3.901/hw/xfree86/vnc/vncInit.c
pScreen->DisplayCursor = vncDisplayCursor;
@@ -586,6 +585,7 @@
NULL /* ModuleTearDownProc */
};
+#if 0
ModuleInfoRec VNC = {
1, /* moduleVersion */
"VNC", /* moduleName */
@@ -593,6 +593,7 @@
0, /* refCount */
VNCAvailableOptions, /* function returning array of OptionsInfoRec */
};
+#endif
ExtensionModule vncExtensionModule = {
VncExtensionInit, /* initFunc */

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,49 @@
-------------------------------------------------------------------
Sat Jan 16 19:06:44 CET 2010 - sndirsch@suse.de
- set VIDEO_ABI_VERSION = 6 and INPUT_ABI_VERSION = 7 in specfile
-------------------------------------------------------------------
Thu Jan 14 01:37:00 CET 2010 - ro@suse.de
- update to 1.7.4
- obsoletes acpi_events.diff
- obsoletes loadmod-bug197195.diff
- obsoletes events.diff
- obsoletes acpi-warning.diff
- obsoletes fbdev_fallback_fail_fix.diff
- obsoletes bug-507190_xorg-x11-server-bnc381139-randr-reprobe-on-unsuspend.diff
- obsoletes keyrelease-1.5.2.diff
- obsoletes 0001-Unclaim-PCI-slot-if-driver-probing-fails.patch
- obsoletes 0001-Fix-sporadic-segfault-on-resume-with-intel-KMS-due-t.patch
- obsoletes bug532341.diff
- obsoletes no-return-in-nonvoid-function.diff
- adjusted 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch
- adjusted bitmap_always_unscaled.diff
- adjusted bug-197858_dpms.diff
- adjusted cache-xkbcomp-output-for-fast-start-up.patch
- adjusted driver-autoconfig.diff
- adjusted fixed-SYNC-extension-trigger-BlockHandler-test.diff
- adjusted fpic.diff
- adjusted missing_font_paths.diff
- adjusted p_default-module-path.diff
- adjusted p_ia64-console.diff
- adjusted p_xorg_acpi.diff
- adjusted xorg-detect-psb.patch
- adjusted xorg-server-xf4vnc-disable-dmxvnc.diff
- adjusted xorg-server-xf4vnc-fix.diff
- adjusted xorg-server-xf4vnc.patch
- adjusted xorg-x11-server.changes
- adjusted xorg-x11-server.spec
- adjusted zap_warning_xserver.diff
- removed truetype_fontpath.diff
- removed libdri_noPanoramiXExtension_symbol.patch
- exa-greedy.diff not applied
- fixed xorg-detect-psb.patch:
rewrite to use second level switch statement for device_id
- /usr/$lib/X11/Options is gone
(Remove xorgcfg 'Options' list.)
-------------------------------------------------------------------
Sun Dec 13 11:52:48 CET 2009 - sndirsch@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package xorg-x11-server (Version 7.4)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -20,7 +20,7 @@
%define moblin 0
Name: xorg-x11-server
%define dirsuffix 1.6.5
%define dirsuffix 1.7.4
%define fglrx_driver_hack 0
### FIXME
%define vnc 1
@ -33,7 +33,7 @@ BuildRequires: libjpeg-devel
Url: http://xorg.freedesktop.org/
%define EXPERIMENTAL 0
Version: 7.4
Release: 64
Release: 65
License: GPLv2+ ; MIT License (or similar)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@ -43,8 +43,8 @@ PreReq: %fillup_prereq
Requires: pkgconfig xorg-x11-fonts-core xorg-x11
%if %suse_version > 1010
%ifnarch s390 s390x
Provides: VIDEO_ABI_VERSION = 5
Provides: INPUT_ABI_VERSION = 4
Provides: VIDEO_ABI_VERSION = 6
Provides: INPUT_ABI_VERSION = 7
Requires: libpixman-1-0 >= 0.15.2
%endif
%endif
@ -73,7 +73,6 @@ Patch18: p_ia64-console.diff
Patch23: disable-fbblt-opt.diff
Patch27: mouse.diff
Patch29: xephyr.diff
Patch32: acpi_events.diff
Patch34: p_pci-off-by-one.diff.ia64
Patch36: libdrm.diff
%if %vnc
@ -88,7 +87,6 @@ Patch46: xorg-server-xf4vnc-busyloop.diff
Patch47: xorg-server-xf4vnc-clientTimeout.diff
Patch48: xorg-server-xf4vnc-fix.diff
%endif
Patch41: loadmod-bug197195.diff
Patch45: bug-197858_dpms.diff
Patch63: xorg-x11-server-1.2.99-unbreak-domain.patch
Patch67: xorg-docs.diff
@ -100,10 +98,7 @@ Patch101: zap_warning_xserver.diff
Patch103: confine_to_shape.diff
Patch104: bitmap_always_unscaled.diff
Patch106: randr1_1-sig11.diff
Patch109: events.diff
Patch112: fix-dpi-values.diff
Patch113: no-return-in-nonvoid-function.diff
Patch117: acpi-warning.diff
Patch118: exa-greedy.diff
Patch123: vidmode-sig11.diff
Patch125: 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
@ -111,15 +106,10 @@ Patch127: dpms_screensaver.diff
Patch128: pci-legacy-mem-fallback.diff
Patch129: bug474071-fix1.diff
Patch132: fixed-SYNC-extension-trigger-BlockHandler-test.diff
Patch140: fbdev_fallback_fail_fix.diff
Patch142: bug-507190_xorg-x11-server-bnc381139-randr-reprobe-on-unsuspend.diff
Patch143: autoconfig_fallback_fbdev_first.diff
Patch144: keyrelease-1.5.2.diff
Patch145: driver-autoconfig.diff
Patch147: truetype_fontpath.diff
Patch148: commit-c941479.diff
# Moblin
Patch161: libdri_noPanoramiXExtension_symbol.patch
Patch162: cache-xkbcomp-output-for-fast-start-up.patch
%if %moblin
Patch163: xserver-1.5.0-bg-none-root.patch
@ -136,10 +126,7 @@ Patch169: moblin-xorg-x11-nonroot-vesa.patch
Patch170: xserver-boottime.patch
Patch171: moblin-use_preferred_mode_for_all_outputs.diff
%endif
Patch190: 0001-Unclaim-PCI-slot-if-driver-probing-fails.patch
Patch191: 0001-Fix-sporadic-segfault-on-resume-with-intel-KMS-due-t.patch
Patch200: bug534768-prefer_local_symbols.patch
Patch532341: bug532341.diff
Patch202: 0001-Check-harder-for-primary-PCI-device.patch
Patch203: 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch
Patch204: missing_font_paths.diff
@ -214,8 +201,6 @@ popd
%patch23
%patch27
%patch29
### Bug 197572: X.Org PCI/IA64 patches
%patch32 -p1
### FIXME
#%patch34 -p0
%patch36 -p0
@ -230,7 +215,6 @@ popd
%patch48 -p1
chmod 755 hw/vnc/symlink-vnc.sh
%endif
%patch41 -p1
%patch45 -p0
### FIXME
#%patch63 -p1
@ -246,11 +230,8 @@ popd
%patch103
%patch104 -p1
%patch106 -p1
%patch109 -p1
%patch112 -p0
%patch113 -p0
%patch117
%patch118 -p1
#patch118 -p1
%patch123 -p0
%patch125 -p1
%patch127 -p1
@ -259,15 +240,10 @@ pushd hw/xfree86/os-support/bus
%patch129 -p0
popd
%patch132 -p1
%patch140 -p1
%patch142 -p1
%patch143 -p0
%patch144 -p1
%patch145 -p0
%patch147 -p0
### Bug #528397
#%patch148 -p1 -R
%patch161 -p1
%patch162 -p1
%if %moblin
%patch163 -p1
@ -282,10 +258,7 @@ popd
%patch171 -p1
%endif
#
%patch190 -p1
%patch191 -p1
%patch200 -p1
%patch532341 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p0
@ -541,9 +514,9 @@ exit 0
%dir /etc/modprobe.d
/etc/modprobe.d/50-nvidia.conf
%endif
%ifarch ppc64 x86_64
%dir /usr/%{_lib}/X11
%endif
#%ifarch ppc64 x86_64
#%dir /usr/%{_lib}/X11
#%endif
%dir /usr/%{_lib}/xorg
%ifnarch s390 s390x
%dir /var/lib/X11
@ -571,7 +544,7 @@ exit 0
/usr/bin/gtf
%endif
%ifnarch s390 s390x
/usr/%{_lib}/X11/*
#/usr/%{_lib}/X11/*
/usr/%{_lib}/xorg/modules/
%{_mandir}/man4/*
%endif

View File

@ -1,8 +1,8 @@
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Config.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Config.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Config.c
@@ -706,6 +706,7 @@ typedef enum {
================================================================================
--- xorg-server-1.7.4/hw/xfree86/common/xf86Config.c
+++ xorg-server-1.7.4/hw/xfree86/common/xf86Config.c
@@ -679,6 +679,7 @@
FLAG_NOTRAPSIGNALS,
FLAG_DONTVTSWITCH,
FLAG_DONTZAP,
@ -10,7 +10,7 @@ Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Config.c
FLAG_DONTZOOM,
FLAG_DISABLEVIDMODE,
FLAG_ALLOWNONLOCAL,
@@ -743,6 +744,8 @@ static OptionInfoRec FlagOptions[] = {
@@ -717,6 +718,8 @@
{0}, FALSE },
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
{0}, FALSE },
@ -19,7 +19,7 @@ Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Config.c
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
{0}, FALSE },
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
@@ -855,6 +858,7 @@ configServerFlags(XF86ConfFlagsPtr flags
@@ -823,6 +826,7 @@
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
@ -27,12 +27,10 @@ Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Config.c
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Events.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Events.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Events.c
@@ -191,12 +191,26 @@ xf86ProcessActionEvent(ActionEvent actio
#endif
--- xorg-server-1.7.4/hw/xfree86/common/xf86Events.c
+++ xorg-server-1.7.4/hw/xfree86/common/xf86Events.c
@@ -180,12 +180,26 @@
DebugF("ProcessActionEvent(%d,%x)\n", (int) action, arg);
switch (action) {
case ACTION_TERMINATE:
- if (!xf86Info.dontZap) {
@ -62,50 +60,40 @@ Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Events.c
break;
case ACTION_NEXT_MODE:
if (!xf86Info.dontZoom)
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Globals.c
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Globals.c
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Globals.c
@@ -106,6 +106,7 @@ xf86InfoRec xf86Info = {
.vtRequestsPending = FALSE,
--- xorg-server-1.7.4/hw/xfree86/common/xf86Globals.c
+++ xorg-server-1.7.4/hw/xfree86/common/xf86Globals.c
@@ -109,6 +109,7 @@
#endif
.dontVTSwitch = FALSE,
.dontZap = FALSE,
+ .ZapWarning = TRUE,
.dontZoom = FALSE,
.notrapSignals = FALSE,
.caughtSignal = FALSE,
Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Privstr.h
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/common/xf86Privstr.h
+++ xorg-server-1.6.3.901/hw/xfree86/common/xf86Privstr.h
@@ -72,6 +72,7 @@ typedef struct {
Bool vtRequestsPending;
--- xorg-server-1.7.4/hw/xfree86/common/xf86Privstr.h
+++ xorg-server-1.7.4/hw/xfree86/common/xf86Privstr.h
@@ -67,6 +67,7 @@
#endif
Bool dontVTSwitch;
Bool dontZap;
+ Bool ZapWarning;
Bool dontZoom;
Bool notrapSignals; /* don't exit cleanly - die at fault */
Bool caughtSignal;
Index: xorg-server-1.6.3.901/hw/xfree86/doc/man/Xorg.man.pre
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/doc/man/Xorg.man.pre
+++ xorg-server-1.6.3.901/hw/xfree86/doc/man/Xorg.man.pre
@@ -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
--- xorg-server-1.7.4/hw/xfree86/doc/man/Xorg.man.pre
+++ xorg-server-1.7.4/hw/xfree86/doc/man/Xorg.man.pre
@@ -431,7 +431,7 @@
.B Ctrl+Alt+Backspace
Immediately kills the server -- no questions asked. It can be disabled by
setting the
-.B DontZap
-__xconfigfile__(__filemansuffix__) file option to a FALSE value.
+.B DontZap/ZapWarning
+__xconfigfile__(__filemansuffix__) file options to a FALSE value.
__xconfigfile__(__filemansuffix__) file option to a TRUE value.
.TP 8
.B Ctrl+Alt+Keypad-Plus
Change video mode to next one specified in the configuration file.
Index: xorg-server-1.6.3.901/hw/xfree86/doc/man/xorg.conf.man.pre
===================================================================
--- xorg-server-1.6.3.901.orig/hw/xfree86/doc/man/xorg.conf.man.pre
+++ xorg-server-1.6.3.901/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -470,6 +470,13 @@ This action is normally used to terminat
--- xorg-server-1.7.4/hw/xfree86/doc/man/xorg.conf.man.pre
+++ xorg-server-1.7.4/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -479,6 +479,13 @@
When this option is enabled, the action has no effect.
Default: off.
.TP 7