Module Name: xsrc
Committed By: mrg
Date: Mon Jun 3 07:38:41 UTC 2013
Modified Files:
xsrc/external/mit/xorg-server/dist/Xext: shm.c xace.c xvdisp.c
xsrc/external/mit/xorg-server/dist/dix: devices.c getevents.c
xsrc/external/mit/xorg-server/dist/hw/xfree86/common: xf86Config.c
xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa: xaaGC.c
xsrc/external/mit/xorg-server/dist/os: utils.c
Log Message:
merge xorg-server 1.10.6.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/xorg-server/dist/Xext/shm.c
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xorg-server/dist/Xext/xace.c \
xsrc/external/mit/xorg-server/dist/Xext/xvdisp.c
cvs rdiff -u -r1.7 -r1.8 xsrc/external/mit/xorg-server/dist/dix/devices.c
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/xorg-server/dist/dix/getevents.c
cvs rdiff -u -r1.9 -r1.10 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa/xaaGC.c
cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/xorg-server/dist/os/utils.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/xorg-server/dist/Xext/shm.c
diff -u xsrc/external/mit/xorg-server/dist/Xext/shm.c:1.4 xsrc/external/mit/xorg-server/dist/Xext/shm.c:1.5
--- xsrc/external/mit/xorg-server/dist/Xext/shm.c:1.4 Tue Aug 2 07:15:01 2011
+++ xsrc/external/mit/xorg-server/dist/Xext/shm.c Mon Jun 3 07:38:40 2013
@@ -482,7 +482,7 @@ doShmPutImage(DrawablePtr dst, GCPtr pGC
{
PixmapPtr pPixmap;
- if (format == ZPixmap || depth == 1) {
+ if (format == ZPixmap || (format == XYPixmap && depth == 1)) {
pPixmap = GetScratchPixmapHeader(dst->pScreen, w, h, depth,
BitsPerPixel(depth),
PixmapBytePad(w, depth),
@@ -993,7 +993,6 @@ CreatePmap:
pMap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
pMap->drawable.id = newPix->info[j].id;
if (!AddResource(newPix->info[j].id, RT_PIXMAP, (pointer)pMap)) {
- (*pScreen->DestroyPixmap)(pMap);
result = BadAlloc;
break;
}
@@ -1004,10 +1003,8 @@ CreatePmap:
}
if(result == BadAlloc) {
- while(j--) {
- (*pScreen->DestroyPixmap)(pMap);
+ while(j--)
FreeResource(newPix->info[j].id, RT_NONE);
- }
free(newPix);
} else
AddResource(stuff->pid, XRT_PIXMAP, newPix);
@@ -1112,7 +1109,6 @@ CreatePmap:
{
return Success;
}
- pDraw->pScreen->DestroyPixmap(pMap);
}
return BadAlloc;
}
Index: xsrc/external/mit/xorg-server/dist/Xext/xace.c
diff -u xsrc/external/mit/xorg-server/dist/Xext/xace.c:1.3 xsrc/external/mit/xorg-server/dist/Xext/xace.c:1.4
--- xsrc/external/mit/xorg-server/dist/Xext/xace.c:1.3 Tue Nov 23 06:37:52 2010
+++ xsrc/external/mit/xorg-server/dist/Xext/xace.c Mon Jun 3 07:38:40 2013
@@ -101,6 +101,10 @@ int XaceHook(int hook, ...)
} u;
int *prv = NULL; /* points to return value from callback */
va_list ap; /* argument list */
+
+ if (!XaceHooks[hook])
+ return Success;
+
va_start(ap, hook);
/* Marshal arguments for passing to callback.
Index: xsrc/external/mit/xorg-server/dist/Xext/xvdisp.c
diff -u xsrc/external/mit/xorg-server/dist/Xext/xvdisp.c:1.3 xsrc/external/mit/xorg-server/dist/Xext/xvdisp.c:1.4
--- xsrc/external/mit/xorg-server/dist/Xext/xvdisp.c:1.3 Tue Nov 23 06:37:52 2010
+++ xsrc/external/mit/xorg-server/dist/Xext/xvdisp.c Mon Jun 3 07:38:40 2013
@@ -1265,7 +1265,7 @@ ProcXvDispatch(ClientPtr client)
UpdateCurrentTime();
- if (stuff->data > xvNumRequests) {
+ if (stuff->data >= xvNumRequests) {
SendErrorToClient(client, XvReqCode, stuff->data, 0, BadRequest);
return BadRequest;
}
@@ -1589,7 +1589,7 @@ SProcXvDispatch(ClientPtr client)
UpdateCurrentTime();
- if (stuff->data > xvNumRequests) {
+ if (stuff->data >= xvNumRequests) {
SendErrorToClient(client, XvReqCode, stuff->data, 0, BadRequest);
return BadRequest;
}
Index: xsrc/external/mit/xorg-server/dist/dix/devices.c
diff -u xsrc/external/mit/xorg-server/dist/dix/devices.c:1.7 xsrc/external/mit/xorg-server/dist/dix/devices.c:1.8
--- xsrc/external/mit/xorg-server/dist/dix/devices.c:1.7 Tue Aug 2 07:15:02 2011
+++ xsrc/external/mit/xorg-server/dist/dix/devices.c Mon Jun 3 07:38:41 2013
@@ -982,6 +982,8 @@ CloseDownDevices(void)
{
DeviceIntPtr dev;
+ OsBlockSignals();
+
/* Float all SDs before closing them. Note that at this point resources
* (e.g. cursors) have been freed already, so we can't just call
* AttachDevice(NULL, dev, NULL). Instead, we have to forcibly set master
@@ -1004,6 +1006,8 @@ CloseDownDevices(void)
inputInfo.keyboard = NULL;
inputInfo.pointer = NULL;
XkbDeleteRulesDflts();
+
+ OsReleaseSignals();
}
/**
Index: xsrc/external/mit/xorg-server/dist/dix/getevents.c
diff -u xsrc/external/mit/xorg-server/dist/dix/getevents.c:1.6 xsrc/external/mit/xorg-server/dist/dix/getevents.c:1.7
--- xsrc/external/mit/xorg-server/dist/dix/getevents.c:1.6 Tue Aug 2 07:15:02 2011
+++ xsrc/external/mit/xorg-server/dist/dix/getevents.c Mon Jun 3 07:38:41 2013
@@ -1075,9 +1075,10 @@ transformAbsolute(DeviceIntPtr dev, Valu
pixman_f_transform_point(&dev->transform, &p);
- if (lround(p.v[0]) != dev->last.valuators[0])
+ if (valuator_mask_isset(mask, 0))
valuator_mask_set(mask, 0, lround(p.v[0]));
- if (lround(p.v[1]) != dev->last.valuators[1])
+
+ if (valuator_mask_isset(mask, 1))
valuator_mask_set(mask, 1, lround(p.v[1]));
}
@@ -1136,14 +1137,17 @@ GetPointerEvents(EventList *events, Devi
events = UpdateFromMaster(events, pDev, DEVCHANGE_POINTER_EVENT, &num_events);
- raw = (RawDeviceEvent*)events->event;
- events++;
- num_events++;
-
valuator_mask_copy(&mask, mask_in);
- init_raw(pDev, raw, ms, type, buttons);
- set_raw_valuators(raw, &mask, raw->valuators.data_raw);
+ if ((flags & POINTER_NORAW) == 0)
+ {
+ raw = (RawDeviceEvent*)events->event;
+ events++;
+ num_events++;
+
+ init_raw(pDev, raw, ms, type, buttons);
+ set_raw_valuators(raw, &mask, raw->valuators.data_raw);
+ }
if (flags & POINTER_ABSOLUTE)
{
@@ -1195,7 +1199,8 @@ GetPointerEvents(EventList *events, Devi
moveRelative(pDev, &x, &y, &mask);
}
- set_raw_valuators(raw, &mask, raw->valuators.data);
+ if ((flags & POINTER_NORAW) == 0)
+ set_raw_valuators(raw, &mask, raw->valuators.data);
positionSprite(pDev, &x, &y, x_frac, y_frac, scr, &cx, &cy, &cx_frac, &cy_frac);
updateHistory(pDev, &mask, ms);
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c:1.9 xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c:1.10
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c:1.9 Sat Oct 22 15:00:40 2011
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Config.c Mon Jun 3 07:38:41 2013
@@ -1230,6 +1230,7 @@ checkCoreInputDevices(serverLayoutPtr se
devs = xnfrealloc(servlayoutp->inputs,
(count + 1) * sizeof(InputInfoPtr));
devs[count - 1] = xnfalloc(sizeof(InputInfoRec));
+ Pointer.fd = -1;
*devs[count - 1] = Pointer;
devs[count - 1]->options =
xf86addNewOption(devs[count -1]->options,
@@ -1275,6 +1276,7 @@ checkCoreInputDevices(serverLayoutPtr se
devs = xnfrealloc(servlayoutp->inputs,
(count + 1) * sizeof(InputInfoPtr));
devs[count - 1] = xnfalloc(sizeof(InputInfoRec));
+ Pointer.fd = -1;
*devs[count - 1] = Pointer;
devs[count - 1]->options =
xf86addNewOption(NULL, xnfstrdup("AlwaysCore"), NULL);
@@ -1371,6 +1373,7 @@ checkCoreInputDevices(serverLayoutPtr se
devs = xnfrealloc(servlayoutp->inputs,
(count + 1) * sizeof(InputInfoPtr));
devs[count - 1] = xnfalloc(sizeof(InputInfoRec));
+ Keyboard.fd = -1;
*devs[count - 1] = Keyboard;
devs[count - 1]->options =
xf86addNewOption(devs[count - 1]->options,
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa/xaaGC.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa/xaaGC.c:1.5 xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa/xaaGC.c:1.6
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa/xaaGC.c:1.5 Tue Aug 2 07:15:05 2011
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa/xaaGC.c Mon Jun 3 07:38:41 2013
@@ -241,6 +241,7 @@ XAADestroyGC(GCPtr pGC)
free(pGCPriv->XAAOps);
free(pGCPriv->DashPattern);
+ pGCPriv->flags = 0;
(*pGC->funcs->DestroyGC)(pGC);
XAA_GC_FUNC_EPILOGUE (pGC);
Index: xsrc/external/mit/xorg-server/dist/os/utils.c
diff -u xsrc/external/mit/xorg-server/dist/os/utils.c:1.5 xsrc/external/mit/xorg-server/dist/os/utils.c:1.6
--- xsrc/external/mit/xorg-server/dist/os/utils.c:1.5 Tue Aug 2 07:15:06 2011
+++ xsrc/external/mit/xorg-server/dist/os/utils.c Mon Jun 3 07:38:41 2013
@@ -306,7 +306,7 @@ LockServer(void)
FatalError("Could not create lock file in %s\n", tmp);
(void) sprintf(pid_str, "%10ld\n", (long)getpid());
(void) write(lfd, pid_str, 11);
- (void) chmod(tmp, 0444);
+ (void) fchmod(lfd, 0444);
(void) close(lfd);
/*
@@ -327,7 +327,7 @@ LockServer(void)
/*
* Read the pid from the existing file
*/
- lfd = open(LockFile, O_RDONLY);
+ lfd = open(LockFile, O_RDONLY|O_NOFOLLOW);
if (lfd < 0) {
unlink(tmp);
FatalError("Can't read lock file %s\n", LockFile);