xserver: Branch 'master' - 6 commits
Keith Packard
keithp at kemper.freedesktop.org
Thu Jan 12 17:26:53 PST 2012
dix/events.c | 5 +++--
hw/xfree86/man/xorg.conf.man | 8 ++++----
include/misc.h | 3 ++-
os/backtrace.c | 8 ++++++--
render/animcur.c | 3 +++
5 files changed, 18 insertions(+), 9 deletions(-)
New commits:
commit f9e6858d5c10be6a8439c0f18bfb2325fa0ee070
Author: Chase Douglas <chase.douglas at canonical.com>
Date: Wed Jan 11 07:38:12 2012 -0800
Use event time instead of CurrentTime for grab times
When {XI,X,}AllowEvents is called, the timestamp is compared against the
grab time to ensure that the request pertains to the current grab in the
server. While many clients may use CurrentTime (client-side), the
timestamp of the event causing the grab is also valid.
This change ensures that the server's notion of the grab time is the
time of the event that activated the grab rather than the time that the
grab is actually activated.
This bug was exposed through nested touch then pointer grabs.
Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/dix/events.c b/dix/events.c
index 0c4255c..04d7fb5 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -3723,7 +3723,8 @@ ActivatePassiveGrab(DeviceIntPtr device, GrabPtr grab, InternalEvent *event,
}
}
- (*grabinfo->ActivateGrab)(device, grab, currentTime, TRUE);
+ (*grabinfo->ActivateGrab)(device, grab,
+ ClientTimeToServerTime(event->any.time), TRUE);
if (xE)
{
commit a6273cc85c01fc020643a68e49ca4e7a2d2ae898
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Thu Jan 12 10:17:34 2012 +1000
xfree86: mention udev in the xorg.conf manpage AutoAddDevices section
And point out what "hotplugging" means.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man
index 5790185..c1b3c4f 100644
--- a/hw/xfree86/man/xorg.conf.man
+++ b/hw/xfree86/man/xorg.conf.man
@@ -659,8 +659,8 @@ Allow modules built for a different, potentially incompatible version of
the X server to load. Disabled by default.
.TP 7
.BI "Option \*qAutoAddDevices\*q \*q" boolean \*q
-If this option is disabled, then no devices will be added from HAL events.
-Enabled by default.
+If this option is disabled, then no devices will be added from the HAL or
+udev backends. Enabled by default.
.TP 7
.BI "Option \*qAutoEnableDevices\*q \*q" boolean \*q
If this option is disabled, then the devices will be added (and the
@@ -802,8 +802,8 @@ Recent X servers employ HAL or udev backends for input device enumeration
and input hotplugging. It is usually not
necessary to provide
.B InputDevice
-sections in the xorg.conf if hotplugging is in use. If hotplugging is
-enabled,
+sections in the xorg.conf if hotplugging is in use (i.e. AutoAddDevices is
+enabled). If hotplugging is enabled,
.B InputDevice
sections using the
.B mouse, kbd
commit a60d87ffe6d9a15fa830c8da2947c72487863c2b
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Wed Jan 11 09:04:02 2012 +1000
os: prettify backtrace output
Changes to output:
* "Backtrace:" now appears on a separate line _with_ a timestamp
* A blank line is inserted after the last backtrace line
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
diff --git a/os/backtrace.c b/os/backtrace.c
index 298bf18..edaeb17 100644
--- a/os/backtrace.c
+++ b/os/backtrace.c
@@ -43,7 +43,8 @@ void xorg_backtrace(void)
const char *mod;
int size, i;
Dl_info info;
- ErrorF("\nBacktrace:\n");
+ ErrorF("\n");
+ ErrorF("Backtrace:\n");
size = backtrace(array, 64);
for (i = 0; i < size; i++) {
int rc = dladdr(array[i], &info);
@@ -59,6 +60,7 @@ void xorg_backtrace(void)
ErrorF("%d: %s (%p+0x%lx) [%p]\n", i, mod,
info.dli_fbase, (long unsigned int)((char *) array[i] - (char *) info.dli_fbase), array[i]);
}
+ ErrorF("\n");
}
#else /* not glibc or glibc < 2.1 */
@@ -188,7 +190,8 @@ static int xorg_backtrace_pstack(void) {
void xorg_backtrace(void) {
- ErrorF("\nBacktrace:\n");
+ ErrorF("\n");
+ ErrorF("Backtrace:\n");
# ifdef HAVE_PSTACK
/* First try fork/exec of pstack - otherwise fall back to walkcontext
@@ -207,6 +210,7 @@ void xorg_backtrace(void) {
# endif
ErrorF("Failed to get backtrace info: %s\n", strerror(errno));
}
+ ErrorF("\n");
}
# else
commit c495a839ace7fcc1f1fe414d3d3ba04f08885434
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Wed Jan 11 09:01:05 2012 +1000
include: prettify BUG_WARN output
ErrorF output is prefixed with a timestamp, so the previous output would
look like this:
[ 50.423] BUG: triggered 'if (dev->valuator->numAxes < 2)'
BUG: getevents.c:842 in scale_to_desktop()
Change this to have the prefix on both lines:
[ 50.423] BUG: triggered 'if (dev->valuator->numAxes < 2)'
[ 50.423] BUG: getevents.c:842 in scale_to_desktop()
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
diff --git a/include/misc.h b/include/misc.h
index 3d08511..3f57f4b 100644
--- a/include/misc.h
+++ b/include/misc.h
@@ -364,7 +364,8 @@ extern _X_EXPORT unsigned long serverGeneration;
/* Don't use this directly, use BUG_WARN or BUG_WARN_MSG instead */
#define __BUG_WARN_MSG(cond, with_msg, ...) \
do { if (cond) { \
- ErrorF("BUG: triggered 'if (" #cond ")'\nBUG: %s:%d in %s()\n", \
+ ErrorF("BUG: triggered 'if (" #cond ")'\n"); \
+ ErrorF("BUG: %s:%d in %s()\n", \
__FILE__, __LINE__, __func__); \
if (with_msg) ErrorF(__VA_ARGS__); \
xorg_backtrace(); \
commit bbb6b8c834e0e1491ca14403b5d0840dd14380d3
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Fri Jan 6 13:20:45 2012 +1000
render: don't bother with animated cursors on floating slaves (#39989)
X.Org Bug 39989 <http://bugs.freedesktop.org/show_bug.cgi?id=39989>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
diff --git a/render/animcur.c b/render/animcur.c
index 31cbab9..8d4a9c2 100644
--- a/render/animcur.c
+++ b/render/animcur.c
@@ -208,6 +208,9 @@ AnimCurDisplayCursor (DeviceIntPtr pDev,
AnimCurScreenPtr as = GetAnimCurScreen(pScreen);
Bool ret;
+ if (IsFloating(pDev))
+ return FALSE;
+
Unwrap (as, pScreen, DisplayCursor);
if (IsAnimCur(pCursor))
{
commit 35bd77e9d0701daae87d681900d749604fc6471f
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Mon Jan 9 15:04:10 2012 +1000
dix: Update pointer limits for floating devices too (#43635)
When the screen is restructured, the pointer limits need to be reset for
floating slave devices as well, not just for master pointers. Only skip
devices that don't have a cursor (attached slaves and keyboard)
Bug reproducer: float an absolute slave device, rotate the screen - the
device is now confined to a section of the screen only.
X.Org Bug 43635 <http://bugs.freedesktop.org/show_bug.cgi?id=43635>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Chase Douglas <chase.douglas at canonical.com>
diff --git a/dix/events.c b/dix/events.c
index 5360267..0c4255c 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -1368,7 +1368,7 @@ ScreenRestructured (ScreenPtr pScreen)
for (pDev = inputInfo.devices; pDev; pDev = pDev->next)
{
- if (!DevHasCursor(pDev))
+ if (!IsFloating(pDev) && !DevHasCursor(pDev))
continue;
/* GrabDevice doesn't have a confineTo field, so we don't need to
More information about the xorg-commit
mailing list