mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
473 lines
16 KiB
Diff
473 lines
16 KiB
Diff
From 31536307703fcffa14a027ec777310c9962f816c Mon Sep 17 00:00:00 2001
|
|
From: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
Date: Sat, 02 May 2009 07:26:18 +0000
|
|
Subject: XkbSetNamedIndicator should ignore SD's without LED's
|
|
|
|
When ProcXkbSetNamedIndicator is called on a core device, and we
|
|
walk the slaves to set the LED's on each of them, ignore any slaves
|
|
that do not have either a KbdFeedbackCtrl or LedCtrl structure.
|
|
|
|
(This is much more critical in xserver-1.5-branch, where we walk
|
|
*all* devices, not just the slaves of the specified master, and
|
|
thus return failure when setting an LED on the Core Keyboard and
|
|
hit a xf86-input-mouse device with no LED's to set.)
|
|
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
(cherry picked from commit 557dbadf3be273255e8fdb12d9321f4e88bf2b65)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/xkb/xkb.c b/xkb/xkb.c
|
|
index 7c1edea..15a0f43 100644
|
|
--- a/xkb/xkb.c
|
|
+++ b/xkb/xkb.c
|
|
@@ -3438,6 +3438,7 @@ ProcXkbSetNamedIndicator(ClientPtr client)
|
|
for (other = inputInfo.devices; other; other = other->next)
|
|
{
|
|
if ((other != dev) && !other->isMaster && (other->u.master == dev) &&
|
|
+ (other->kbdfeed || other->leds) &&
|
|
(XaceHook(XACE_DEVICE_ACCESS, client, other, DixSetAttrAccess) == Success))
|
|
{
|
|
rc = _XkbCreateIndicatorMap(other, stuff->indicator,
|
|
@@ -3461,6 +3462,7 @@ ProcXkbSetNamedIndicator(ClientPtr client)
|
|
for (other = inputInfo.devices; other; other = other->next)
|
|
{
|
|
if ((other != dev) && !other->isMaster && (other->u.master == dev) &&
|
|
+ (other->kbdfeed || other->leds) &&
|
|
(XaceHook(XACE_DEVICE_ACCESS, client, other, DixSetAttrAccess) == Success))
|
|
{
|
|
_XkbSetNamedIndicator(client, other, stuff);
|
|
--
|
|
cgit v0.8.2
|
|
From 78eb366c65a953bbc059a989a92dfe28fbe1ae29 Mon Sep 17 00:00:00 2001
|
|
From: Jon TURNEY <jon.turney@dronecode.org.uk>
|
|
Date: Thu, 12 Feb 2009 16:02:17 +0000
|
|
Subject: Remove long-gone '-co' option from Xserver man page
|
|
|
|
The '-co' option was removed in commit dda10c9066a660b647384179f82e1da8e063264f
|
|
|
|
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
|
|
(cherry picked from commit b0ad9e1ced9619f37acf77764c395c57b86cf463)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/doc/Xserver.man.pre b/doc/Xserver.man.pre
|
|
index 8897e1a..eace57d 100644
|
|
--- a/doc/Xserver.man.pre
|
|
+++ b/doc/Xserver.man.pre
|
|
@@ -117,10 +117,6 @@ sets key-click volume (allowable range: 0-100).
|
|
sets the visual class for the root window of color screens.
|
|
The class numbers are as specified in the X protocol.
|
|
Not obeyed by all servers.
|
|
-.TP 8
|
|
-.B \-co \fIfilename\fP
|
|
-sets name of RGB color database. The default is
|
|
-.IR __projectroot__/share/X11/rgb .
|
|
.ig
|
|
.TP 8
|
|
.B \-config \fIfilename\fP
|
|
--
|
|
cgit v0.8.2
|
|
From 3f0c73694b9ddc85b82a7a82a5d98fa8b18a01a8 Mon Sep 17 00:00:00 2001
|
|
From: Jon TURNEY <jon.turney@dronecode.org.uk>
|
|
Date: Thu, 12 Feb 2009 16:03:16 +0000
|
|
Subject: Remove references to rgb.txt from files section of Xserver and Xorg man pages
|
|
|
|
The references to this file in the server code were removed in commit dda10c9066a660b647384179f82e1da8e063264f
|
|
|
|
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
|
|
(cherry picked from commit d0dd649035fc3698c5b436f9d9d248116aa106a3)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/doc/Xserver.man.pre b/doc/Xserver.man.pre
|
|
index eace57d..cd5bdbd 100644
|
|
--- a/doc/Xserver.man.pre
|
|
+++ b/doc/Xserver.man.pre
|
|
@@ -560,9 +560,6 @@ Bitmap font directories
|
|
.IR __projectroot__/lib/X11/fonts/TTF , __projectroot__/lib/X11/fonts/Type1
|
|
Outline font directories
|
|
.TP 30
|
|
-.I __projectroot__/share/X11/rgb.txt
|
|
-Color database
|
|
-.TP 30
|
|
.I /tmp/.X11-unix/X\fBn\fP
|
|
Unix domain socket for display number \fBn\fP
|
|
.TP 30
|
|
diff --git a/hw/xfree86/doc/man/Xorg.man.pre b/hw/xfree86/doc/man/Xorg.man.pre
|
|
index bf29fcb..4992dc7 100644
|
|
--- a/hw/xfree86/doc/man/Xorg.man.pre
|
|
+++ b/hw/xfree86/doc/man/Xorg.man.pre
|
|
@@ -542,9 +542,6 @@ Libraries.
|
|
.B __projectroot__/lib/X11/fonts/\(**
|
|
Fonts.
|
|
.TP 30
|
|
-.B __projectroot__/share/X11/rgb.txt
|
|
-Color names to RGB mapping.
|
|
-.TP 30
|
|
.B __projectroot__/share/X11/XErrorDB
|
|
Client error message database.
|
|
.TP 30
|
|
--
|
|
cgit v0.8.2
|
|
From bc95f29441b3daa7b9d91bd3c2b3e502a3a8cc81 Mon Sep 17 00:00:00 2001
|
|
From: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
Date: Thu, 23 Apr 2009 15:42:38 +0000
|
|
Subject: Fix byte swapping of XF86VidMode{Get,Set}GammaRamp
|
|
|
|
Fixes OpenSolaris Bug 8315:
|
|
Xorg segfaults when screensaver fades in cross-endian xdmcp session
|
|
<http://defect.opensolaris.org/bz/show_bug.cgi?id=8315>
|
|
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
(cherry picked from commit 7d0f7518c2235a9dc783029971259ddaada2db20)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c
|
|
index 6485a04..aecaf94 100644
|
|
--- a/hw/xfree86/dixmods/extmod/xf86vmode.c
|
|
+++ b/hw/xfree86/dixmods/extmod/xf86vmode.c
|
|
@@ -1543,6 +1543,7 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
|
{
|
|
CARD16 *ramp = NULL;
|
|
int n, length, i;
|
|
+ size_t ramplen;
|
|
xXF86VidModeGetGammaRampReply rep;
|
|
REQUEST(xXF86VidModeGetGammaRampReq);
|
|
|
|
@@ -1557,7 +1558,8 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
|
length = (stuff->size + 1) & ~1;
|
|
|
|
if(stuff->size) {
|
|
- if(!(ramp = xalloc(length * 3 * sizeof(CARD16))))
|
|
+ ramplen = length * 3 * sizeof(CARD16);
|
|
+ if (!(ramp = xalloc(ramplen)))
|
|
return BadAlloc;
|
|
|
|
if (!VidModeGetGammaRamp(stuff->screen, stuff->size,
|
|
@@ -1575,13 +1577,12 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
|
swaps(&rep.sequenceNumber, n);
|
|
swapl(&rep.length, n);
|
|
swaps(&rep.size, n);
|
|
- for(i = 0; i < length * 3; i++)
|
|
- swaps(&ramp[i],n);
|
|
+ SwapShorts(ramp, length * 3);
|
|
}
|
|
WriteToClient(client, sizeof(xXF86VidModeGetGammaRampReply), (char *)&rep);
|
|
|
|
if(stuff->size) {
|
|
- WriteToClient(client, rep.length << 2, (char*)ramp);
|
|
+ WriteToClient(client, ramplen, (char*)ramp);
|
|
xfree(ramp);
|
|
}
|
|
|
|
@@ -2062,7 +2063,6 @@ SProcXF86VidModeGetGamma(ClientPtr client)
|
|
static int
|
|
SProcXF86VidModeSetGammaRamp(ClientPtr client)
|
|
{
|
|
- CARD16 *ramp;
|
|
int length, n;
|
|
REQUEST(xXF86VidModeSetGammaRampReq);
|
|
swaps(&stuff->length, n);
|
|
@@ -2071,11 +2071,7 @@ SProcXF86VidModeSetGammaRamp(ClientPtr client)
|
|
swaps(&stuff->screen, n);
|
|
length = ((stuff->size + 1) & ~1) * 6;
|
|
REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length);
|
|
- ramp = (CARD16*)&stuff[1];
|
|
- while(length--) {
|
|
- swaps(ramp, n);
|
|
- ramp++;
|
|
- }
|
|
+ SwapRestS(stuff);
|
|
return ProcXF86VidModeSetGammaRamp(client);
|
|
}
|
|
|
|
--
|
|
cgit v0.8.2
|
|
From 7cd596e0dd6b9c195d7e395c26bfb00ef544c525 Mon Sep 17 00:00:00 2001
|
|
From: Dave Airlie <airlied@linux.ie>
|
|
Date: Wed, 15 Apr 2009 08:26:06 +0000
|
|
Subject: randr12: looking up these bits if randr isn't initialised is bad.
|
|
|
|
When xinerama is enabled we don't get randr protocol, but the
|
|
driver might still want randr internals
|
|
(cherry picked from commit faf7dfa099f5b42a703313fbd1bf8afdad07a179)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
|
|
index 6f93a0d..4546492 100644
|
|
--- a/hw/xfree86/modes/xf86RandR12.c
|
|
+++ b/hw/xfree86/modes/xf86RandR12.c
|
|
@@ -752,8 +752,8 @@ _X_EXPORT Bool
|
|
xf86RandR12CreateScreenResources (ScreenPtr pScreen)
|
|
{
|
|
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
|
- xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
|
|
- XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
|
|
+ xf86CrtcConfigPtr config;
|
|
+ XF86RandRInfoPtr randrp;
|
|
int c;
|
|
int width, height;
|
|
int mmWidth, mmHeight;
|
|
@@ -763,6 +763,8 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen)
|
|
return TRUE;
|
|
#endif
|
|
|
|
+ config = XF86_CRTC_CONFIG_PTR(pScrn);
|
|
+ randrp = XF86RANDRINFO(pScreen);
|
|
/*
|
|
* Compute size of screen
|
|
*/
|
|
--
|
|
cgit v0.8.2
|
|
From 9c643b1e3ddc4ec9f1a924bd25f24df8536c7ea6 Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Date: Thu, 16 Apr 2009 06:17:07 +0000
|
|
Subject: os: don't malloc memory in LogVMessageVerb.
|
|
|
|
LogVWrite is limited to a buffer size of 1024, so we don't loose anything here
|
|
by truncating. This way we can use LogVMessageVerb (and xf86Msg and friends)
|
|
during signal handlers with the normal message types.
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Acked-by: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
(cherry picked from commit 0e0642ee9466d3268476d0084a83a9d93a4aa555)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/os/log.c b/os/log.c
|
|
index 39bbd60..692e78a 100644
|
|
--- a/os/log.c
|
|
+++ b/os/log.c
|
|
@@ -312,7 +312,7 @@ _X_EXPORT void
|
|
LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
|
|
{
|
|
const char *s = X_UNKNOWN_STRING;
|
|
- char *tmpBuf = NULL;
|
|
+ char tmpBuf[1024];
|
|
|
|
/* Ignore verbosity for X_ERROR */
|
|
if (logVerbosity >= verb || logFileVerbosity >= verb || type == X_ERROR) {
|
|
@@ -354,21 +354,11 @@ LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
|
|
break;
|
|
}
|
|
|
|
- /*
|
|
- * Prefix the format string with the message type. We do it this way
|
|
- * so that LogVWrite() is only called once per message.
|
|
- */
|
|
- if (s) {
|
|
- tmpBuf = malloc(strlen(format) + strlen(s) + 1 + 1);
|
|
- /* Silently return if malloc fails here. */
|
|
- if (!tmpBuf)
|
|
- return;
|
|
- sprintf(tmpBuf, "%s ", s);
|
|
- strcat(tmpBuf, format);
|
|
- LogVWrite(verb, tmpBuf, args);
|
|
- free(tmpBuf);
|
|
- } else
|
|
- LogVWrite(verb, format, args);
|
|
+ /* if s is not NULL we need a space before format */
|
|
+ snprintf(tmpBuf, sizeof(tmpBuf), "%s%s%s", s ? s : "",
|
|
+ s ? " " : "",
|
|
+ format);
|
|
+ LogVWrite(verb, tmpBuf, args);
|
|
}
|
|
}
|
|
|
|
--
|
|
cgit v0.8.2
|
|
From b575af88d0e547a03b164f6f3b2d4b268b9ffc34 Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Date: Wed, 06 May 2009 12:25:28 +0000
|
|
Subject: Xi: fix copy/paste error causing sizeof against wrong struct.
|
|
|
|
This wrong check may cause BadLength to be returned to the client even if the
|
|
length is correct.
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
(cherry picked from commit 8b583ca2b21155359c6255f406c96599b277c762)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
|
|
index 26af3fc..04b2c81 100644
|
|
--- a/Xi/xiproperty.c
|
|
+++ b/Xi/xiproperty.c
|
|
@@ -650,7 +650,7 @@ ProcXChangeDeviceProperty (ClientPtr client)
|
|
return BadValue;
|
|
}
|
|
len = stuff->nUnits;
|
|
- if (len > ((0xffffffff - sizeof(xChangePropertyReq)) >> 2))
|
|
+ if (len > ((0xffffffff - sizeof(xChangeDevicePropertyReq)) >> 2))
|
|
return BadLength;
|
|
sizeInBytes = format>>3;
|
|
totalSize = len * sizeInBytes;
|
|
--
|
|
cgit v0.8.2
|
|
From 21f58a2b0d0d96492d2d7c7de1bd654ed0114279 Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Date: Wed, 06 May 2009 06:55:32 +0000
|
|
Subject: Xi: don't double-swap the XListDeviceProperties reply.
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
(cherry picked from commit 50cc8adafca4ba3838d468278d6eb8a4692d2488)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
|
|
index 04b2c81..b04ee94 100644
|
|
--- a/Xi/xiproperty.c
|
|
+++ b/Xi/xiproperty.c
|
|
@@ -602,13 +602,6 @@ ProcXListDeviceProperties (ClientPtr client)
|
|
rep.length = (numProps * sizeof(Atom)) >> 2;
|
|
rep.sequenceNumber = client->sequence;
|
|
rep.nAtoms = numProps;
|
|
- if (client->swapped)
|
|
- {
|
|
- int n;
|
|
- swaps (&rep.sequenceNumber, n);
|
|
- swapl (&rep.length, n);
|
|
- swaps (&rep.nAtoms, n);
|
|
- }
|
|
temppAtoms = pAtoms;
|
|
for (prop = dev->properties.properties; prop; prop = prop->next)
|
|
*temppAtoms++ = prop->propertyName;
|
|
--
|
|
cgit v0.8.2
|
|
From 773e4890b385a229b0919b4a249714d0bb7171a2 Mon Sep 17 00:00:00 2001
|
|
From: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
Date: Fri, 27 Mar 2009 05:25:08 +0000
|
|
Subject: Don't leak canonical module name and patterns if module is built-in
|
|
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
(cherry picked from commit 1c101d75d4855b2698e3fc8d2dd662f20585812f)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
|
|
index e98f013..22b540c 100644
|
|
--- a/hw/xfree86/loader/loadmod.c
|
|
+++ b/hw/xfree86/loader/loadmod.c
|
|
@@ -867,7 +867,8 @@ doLoadModule(const char *module, const char *path, const char **subdirlist,
|
|
if (!strcmp (m, *cim))
|
|
{
|
|
xf86MsgVerb(X_INFO, 3, "Module \"%s\" already built-in\n", m);
|
|
- return (ModuleDescPtr) 1;
|
|
+ ret = (ModuleDescPtr) 1;
|
|
+ goto LoadModule_exit;
|
|
}
|
|
|
|
if (!name) {
|
|
--
|
|
cgit v0.8.2
|
|
From 0fbf6f30f771e60714fb3003a9bb1a6b79e50c6e Mon Sep 17 00:00:00 2001
|
|
From: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
Date: Fri, 27 Mar 2009 05:22:32 +0000
|
|
Subject: Don't leak default font path when appending built-ins
|
|
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
(cherry picked from commit 66539cc05d0b017b9feb4a038499907810140623)
|
|
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
---
|
|
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
|
|
index 17223a1..9e56ca9 100644
|
|
--- a/hw/xfree86/common/xf86Config.c
|
|
+++ b/hw/xfree86/common/xf86Config.c
|
|
@@ -601,7 +601,9 @@ configFiles(XF86ConfFilesPtr fileconf)
|
|
defaultFontPath = Xprintf("%s%s%s",
|
|
fileconf->file_fontpath,
|
|
*temp_path ? "," : "", temp_path);
|
|
- must_copy = FALSE;
|
|
+ if (defaultFontPath != NULL) {
|
|
+ must_copy = FALSE;
|
|
+ }
|
|
}
|
|
else
|
|
defaultFontPath = fileconf->file_fontpath;
|
|
@@ -617,7 +619,14 @@ configFiles(XF86ConfFilesPtr fileconf)
|
|
!((start == temp_path || start[-1] == ',') && (!*end || *end == ','))) {
|
|
defaultFontPath = Xprintf("%s%sbuilt-ins",
|
|
temp_path, *temp_path ? "," : "");
|
|
- must_copy = FALSE;
|
|
+ if (must_copy == TRUE) {
|
|
+ if (defaultFontPath != NULL) {
|
|
+ must_copy = FALSE;
|
|
+ }
|
|
+ } else {
|
|
+ /* already made a copy of the font path */
|
|
+ xfree(temp_path);
|
|
+ }
|
|
}
|
|
/* xf86ValidateFontPath modifies its argument, but returns a copy of it. */
|
|
temp_path = must_copy ? XNFstrdup(defaultFontPath) : defaultFontPath;
|
|
--
|
|
cgit v0.8.2
|
|
From a9f85dcefbadfe44d8c58ad08430aaadb8c59d34 Mon Sep 17 00:00:00 2001
|
|
From: Eamon Walsh <ewalsh@tycho.nsa.gov>
|
|
Date: Mon, 11 May 2009 19:27:46 +0000
|
|
Subject: xselinux: Relax ownership restriction on SetSelectionUseContext.
|
|
|
|
Instead, clients should keep track of the selection instances they use.
|
|
(cherry picked from commit 0952d12717031e9dda9e48123bb922d0f4e81834)
|
|
|
|
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
|
|
---
|
|
diff --git a/Xext/xselinux.c b/Xext/xselinux.c
|
|
index 2a32bb8..6c99c29 100644
|
|
--- a/Xext/xselinux.c
|
|
+++ b/Xext/xselinux.c
|
|
@@ -1349,15 +1349,6 @@ ProcSELinuxSetCreateContext(ClientPtr client, unsigned offset)
|
|
goto out;
|
|
privPtr = &serverClient->devPrivates;
|
|
}
|
|
- else if (offset == USE_SEL) {
|
|
- /* Selection use context currently requires no selections owned */
|
|
- Selection *pSel;
|
|
- for (pSel = CurrentSelections; pSel; pSel = pSel->next)
|
|
- if (pSel->client == client) {
|
|
- rc = BadMatch;
|
|
- goto out;
|
|
- }
|
|
- }
|
|
|
|
ptr = dixLookupPrivate(privPtr, subjectKey);
|
|
pSid = (security_id_t *)(ptr + offset);
|
|
--
|
|
cgit v0.8.2
|
|
From 5cd5a01259ba349f1868ca4af04207cf120d69e4 Mon Sep 17 00:00:00 2001
|
|
From: Eamon Walsh <ewalsh@tycho.nsa.gov>
|
|
Date: Tue, 19 May 2009 23:30:33 +0000
|
|
Subject: xace: Fix a bad device access hook call.
|
|
|
|
Add a proper access mode, and reverse the logic of the return value.
|
|
Zero ("Success") is returned on success from the hook calls.
|
|
|
|
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
|
|
(cherry picked from commit 3cea176d5abcb0f14eefbdcbe17fed0847524dd4)
|
|
---
|
|
diff --git a/dix/events.c b/dix/events.c
|
|
index 63b0674..ee6ac9e 100644
|
|
--- a/dix/events.c
|
|
+++ b/dix/events.c
|
|
@@ -4220,10 +4220,10 @@ CoreFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin)
|
|
{
|
|
xKeymapEvent ke;
|
|
ClientPtr client = clients[CLIENT_ID(pWin->drawable.id)];
|
|
- if (XaceHook(XACE_DEVICE_ACCESS, client, dev, FALSE))
|
|
- memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31);
|
|
- else
|
|
+ if (XaceHook(XACE_DEVICE_ACCESS, client, dev, DixReadAccess))
|
|
bzero((char *)&ke.map[0], 31);
|
|
+ else
|
|
+ memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31);
|
|
|
|
ke.type = KeymapNotify;
|
|
(void)DeliverEventsToWindow(dev, pWin, (xEvent *)&ke, 1,
|
|
--
|
|
cgit v0.8.2
|