xorg-server: Changes to 'ubuntu+1'
ChangeLog | 42 +++++++++++++++++++++++++++++++++++++
Xi/exevents.c | 20 ++++++++---------
Xi/xiproperty.c | 2 -
configure.ac | 2 -
debian/changelog | 7 ++++++
debian/patches/220_test-loop.patch | 36 -------------------------------
debian/patches/series | 1
dix/enterleave.c | 9 +++++--
dix/eventconvert.c | 4 +++
dix/getevents.c | 2 -
hw/xfree86/common/xf86Xinput.c | 11 +++++----
include/exevents.h | 2 -
test/xi2/protocol-eventconvert.c | 2 -
xkb/xkbActions.c | 2 -
14 files changed, 81 insertions(+), 61 deletions(-)
New commits:
commit 1525cba03c3c81a3547370204c88824fd5a15022
Author: Chase Douglas <chase.douglas@canonical.com>
Date: Tue Jan 10 10:48:49 2012 +0100
releasing version 2:1.11.3-0ubuntu2
diff --git a/ChangeLog b/ChangeLog
index c1fd54b..5733c56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,45 @@
+commit a607cde134173b158335b2c1d92a91b2ec876aa9
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jan 9 13:17:37 2012 -0800
+
+ Merge remote-tracking branch 'whot/multitouch'
+
+ (cherry picked from commit e476af417d83730b11054f4e5b127ab5540bb332)
+
+ Conflicts:
+
+ configure.ac
+
+commit fe5444bfe3c7cc56cd8bddb32d2dc45b22431aea
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jan 9 11:40:23 2012 -0800
+
+ Merge remote-tracking branch 'whot/for-keith'
+ (cherry picked from commit 0b2c6491c5e5e1c9ba067299f3de61f5acee263b)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 447156777040e0695391ecac709de3a857368a8d
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Dec 22 12:00:37 2011 -0800
+
+ test/xi2: Really fix infinite loop in test_convert_XITouchOwnershipEvent
+
+ long i;
+ for (i = 1; ; i <<= 1)
+ if (i == (1 << 31))
+ break;
+
+ (1 << 31) is compiled as an int, and thus is equal to -2147483648. We
+ are trying to compare it against a long, which on 64-bit machines is
+ 2147483648. This results in an infinite loop.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit a28ff2cf92c2b35e02eacca21af929afabbf6b83)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
commit 0c292448ebcfcc6e5072efada55f8135b60b7795
Author: Keith Packard <keithp@keithp.com>
Date: Thu Dec 22 09:35:51 2011 -0800
diff --git a/debian/changelog b/debian/changelog
index 92ca608..11cb531 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.11.3-0ubuntu2) precise; urgency=low
+
+ * Merge in input changes from upstream master through commit 8722ad6
+ * Remove temporary patch 220_test-loop.patch, merged upstream
+
+ -- Chase Douglas <chase.douglas@ubuntu.com> Tue, 10 Jan 2012 10:48:31 +0100
+
xorg-server (2:1.11.3-0ubuntu1) precise; urgency=low
* New upstream bugfix release
diff --git a/debian/patches/220_test-loop.patch b/debian/patches/220_test-loop.patch
deleted file mode 100644
index 476e165..0000000
--- a/debian/patches/220_test-loop.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 5750b6dbd015529e2c7b03755c8235ee3c9e6ff7 Mon Sep 17 00:00:00 2001
-From: Chase Douglas <chase.douglas@canonical.com>
-Date: Thu, 22 Dec 2011 11:55:34 -0800
-Subject: [PATCH] test/xi2: Really fix infinite loop in
- test_convert_XITouchOwnershipEvent
-
-long i;
-for (i = 1; ; i <<= 1)
- if (i == (1 << 31))
- break;
-
-(1 << 31) is compiled as an int, and thus is equal to -2147483648. We
-are trying to compare it against a long, which on 64-bit machines is
-2147483648. This results in an infinite loop.
-
-Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
----
- test/xi2/protocol-eventconvert.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/test/xi2/protocol-eventconvert.c b/test/xi2/protocol-eventconvert.c
-index faa9f40..bf1493c 100644
---- a/test/xi2/protocol-eventconvert.c
-+++ b/test/xi2/protocol-eventconvert.c
-@@ -1005,7 +1005,7 @@ test_convert_XITouchOwnershipEvent(void)
- {
- in.touchid = i;
- test_XITouchOwnershipEvent(&in);
-- if (i == (1 << 31))
-+ if (i == ((long)1 << 31))
- break;
- }
- }
---
-1.7.5.4
-
diff --git a/debian/patches/series b/debian/patches/series
index aef2d0d..a37033e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -27,4 +27,3 @@
208_switch_on_release.diff
209_add_legacy_bgnone_option.patch
214_glx_dri_searchdirs.patch
-220_test-loop.patch
commit a607cde134173b158335b2c1d92a91b2ec876aa9
Author: Keith Packard <keithp@keithp.com>
Date: Mon Jan 9 13:17:37 2012 -0800
Merge remote-tracking branch 'whot/multitouch'
(cherry picked from commit e476af417d83730b11054f4e5b127ab5540bb332)
Conflicts:
configure.ac
diff --git a/Xi/exevents.c b/Xi/exevents.c
index db49e31..6b2db4b 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1159,13 +1159,11 @@ TouchEventRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti,
DeliverTouchEvents(sourcedev, ti, tel + i, ev->resource);
}
- /* If there are no other listeners left, then don't bother sending an
- * ownership change event to no-one; if the touchpoint is pending
+ /* If there are no other listeners left, and the touchpoint is pending
* finish, then we can just kill it now. */
- if (ti->num_listeners == 1)
+ if (ti->num_listeners == 1 && ti->pending_finish)
{
- if (ti->pending_finish)
- TouchEndTouch(sourcedev, ti);
+ TouchEndTouch(sourcedev, ti);
goto out;
}
@@ -1178,9 +1176,9 @@ TouchEventRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti,
ti->num_grabs--;
}
- /* If the current owner was removed, deliver the TouchOwnership or TouchBegin
- event to the new owner. */
- if (was_owner)
+ /* If the current owner was removed and there are further listeners, deliver
+ * the TouchOwnership or TouchBegin event to the new owner. */
+ if (ti->num_listeners > 0 && was_owner)
TouchPuntToNextOwner(sourcedev, ti, ev);
out:
@@ -1803,8 +1801,10 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
listener->state = LISTENER_HAS_END;
}
- if (ti->num_listeners > 1 &&
- (ev->device_event.flags & (TOUCH_ACCEPT|TOUCH_REJECT)) == 0)
+ if ((ti->num_listeners > 1 ||
+ (listener->type == LISTENER_GRAB &&
+ xi2mask_isset(xi2mask, dev, XI_TouchOwnership))) &&
+ (ev->device_event.flags & (TOUCH_ACCEPT|TOUCH_REJECT)) == 0)
{
ev->any.type = ET_TouchUpdate;
ev->device_event.flags |= TOUCH_PENDING_END;
diff --git a/configure.ac b/configure.ac
index af6ea8c..6dc76c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -785,7 +785,7 @@ WINDOWSWMPROTO="windowswmproto"
APPLEWMPROTO="applewmproto >= 1.4"
dnl Core modules for most extensions, et al.
-SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 2.1.99.3] [kbproto >= 1.0.3] fontsproto"
+SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 2.1.99.5] [kbproto >= 1.0.3] fontsproto"
# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
AC_SUBST(SDK_REQUIRED_MODULES)
diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index 017c871..60dc22f 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -691,6 +691,10 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi)
else
xde->flags = ev->flags;
+ if (IsTouchEvent((InternalEvent*)ev) &&
+ ev->flags & TOUCH_POINTER_EMULATED)
+ xde->flags |= XITouchEmulatingPointer;
+
if (ev->key_repeat)
xde->flags |= XIKeyRepeat;
commit fe5444bfe3c7cc56cd8bddb32d2dc45b22431aea
Author: Keith Packard <keithp@keithp.com>
Date: Mon Jan 9 11:40:23 2012 -0800
Merge remote-tracking branch 'whot/for-keith'
(cherry picked from commit 0b2c6491c5e5e1c9ba067299f3de61f5acee263b)
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index 61c5d57..3061283 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -706,7 +706,7 @@ XIDeleteDeviceProperty (DeviceIntPtr device, Atom property, Bool fromClient)
int
XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type,
int format, int mode, unsigned long len,
- const pointer value, Bool sendevent)
+ const void *value, Bool sendevent)
{
XIPropertyPtr prop;
int size_in_bytes;
diff --git a/dix/enterleave.c b/dix/enterleave.c
index a39e640..89a82ab 100644
--- a/dix/enterleave.c
+++ b/dix/enterleave.c
@@ -1292,14 +1292,17 @@ DeviceFocusEvents(DeviceIntPtr dev,
NotifyPointer);
DeviceFocusEvent(dev, XI_FocusOut, mode, NotifyNonlinear, from);
/* next call catches the root too, if the screen changed */
- DeviceFocusOutEvents(dev, from->parent, NullWindow, mode,
+ DeviceFocusOutEvents(dev, from, NullWindow, mode,
NotifyNonlinearVirtual);
}
/* Notify all the roots */
for (i = 0; i < nscreens; i++)
DeviceFocusEvent(dev, XI_FocusIn, mode, in, screenInfo.screens[i]->root);
if (to == PointerRootWin)
+ {
DeviceFocusInEvents(dev, GetCurrentRootWindow(dev), sprite->win, mode, NotifyPointer);
+ DeviceFocusEvent(dev, XI_FocusIn, mode, NotifyPointer, sprite->win);
+ }
}
else
{
@@ -1321,7 +1324,7 @@ DeviceFocusEvents(DeviceIntPtr dev,
if (IsParent(to, from))
{
DeviceFocusEvent(dev, XI_FocusOut, mode, NotifyAncestor, from);
- DeviceFocusOutEvents(dev, from->parent, to, mode,
+ DeviceFocusOutEvents(dev, from, to, mode,
NotifyVirtual);
DeviceFocusEvent(dev, XI_FocusIn, mode, NotifyInferior, to);
if ((IsParent(to, sprite->win)) &&
@@ -1353,7 +1356,7 @@ DeviceFocusEvents(DeviceIntPtr dev,
NotifyPointer);
DeviceFocusEvent(dev, XI_FocusOut, mode, NotifyNonlinear, from);
if (from->parent != NullWindow)
- DeviceFocusOutEvents(dev, from->parent, common, mode,
+ DeviceFocusOutEvents(dev, from, common, mode,
NotifyNonlinearVirtual);
if (to->parent != NullWindow)
DeviceFocusInEvents(dev, common, to, mode, NotifyNonlinearVirtual);
diff --git a/dix/getevents.c b/dix/getevents.c
index 3b40a5b..d0014e6 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1328,7 +1328,7 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,
storeLastValuators(pDev, &mask, 0, 1, devx, devy);
/* Update the MD's co-ordinates, which are always in desktop space. */
- if (!IsMaster(pDev) || !IsFloating(pDev)) {
+ if (!IsMaster(pDev) && !IsFloating(pDev)) {
DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER);
master->last.valuators[0] = screenx;
master->last.valuators[1] = screeny;
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 36c40d7..671c9e0 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -968,15 +968,16 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
pInfo->attrs = DuplicateInputAttributes(attrs);
}
- if (!pInfo->driver || !pInfo->name) {
- xf86Msg(X_INFO, "No input driver/identifier specified (ignoring)\n");
+ if (!pInfo->name) {
+ xf86Msg(X_INFO, "No identifier specified, ignoring this device.\n");
rval = BadRequest;
goto unwind;
}
- if (!pInfo->name) {
- xf86Msg(X_ERROR, "No device identifier specified (ignoring)\n");
- rval = BadMatch;
+ if (!pInfo->driver) {
+ xf86Msg(X_INFO, "No input driver specified, ignoring this device.\n");
+ xf86Msg(X_INFO, "This device may have been added with another device file.\n");
+ rval = BadRequest;
goto unwind;
}
diff --git a/include/exevents.h b/include/exevents.h
index bd16970..31acb30 100644
--- a/include/exevents.h
+++ b/include/exevents.h
@@ -92,7 +92,7 @@ extern _X_EXPORT int XIChangeDeviceProperty(
int /* format*/,
int /* mode*/,
unsigned long /* len*/,
- const pointer /* value*/,
+ const void* /* value*/,
Bool /* sendevent*/
);
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 1e94d26..cf20737 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -784,7 +784,7 @@ DeviceIntPtr kbd;
filter->active= 0;
return ((pMsg->flags&XkbSA_MessageGenKeyEvent)!=0);
}
- return 0;
+ return 1;
}
static int
commit 447156777040e0695391ecac709de3a857368a8d
Author: Chase Douglas <chase.douglas@canonical.com>
Date: Thu Dec 22 12:00:37 2011 -0800
test/xi2: Really fix infinite loop in test_convert_XITouchOwnershipEvent
long i;
for (i = 1; ; i <<= 1)
if (i == (1 << 31))
break;
(1 << 31) is compiled as an int, and thus is equal to -2147483648. We
are trying to compare it against a long, which on 64-bit machines is
2147483648. This results in an infinite loop.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit a28ff2cf92c2b35e02eacca21af929afabbf6b83)
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
diff --git a/test/xi2/protocol-eventconvert.c b/test/xi2/protocol-eventconvert.c
index 2df9cb9..0913450 100644
--- a/test/xi2/protocol-eventconvert.c
+++ b/test/xi2/protocol-eventconvert.c
@@ -1021,7 +1021,7 @@ test_convert_XITouchOwnershipEvent(void)
{
in.touchid = i;
test_XITouchOwnershipEvent(&in);
- if (i == (1 << 31))
+ if (i == ((long)1 << 31))
break;
}
}
Reply to: