xorg-server: Changes to 'debian-experimental'
ChangeLog | 621 +++++++++++++++++++++
Xext/saver.c | 8
Xi/exevents.c | 155 ++---
Xi/ungrdevb.c | 2
Xi/ungrdevk.c | 2
Xi/xipassivegrab.c | 2
configure.ac | 6
debian/changelog | 52 +
debian/control | 11
debian/patches/10_Include-missing-selection-h.diff | 20
debian/patches/series | 1
debian/rules | 6
dix/cursor.c | 29
dix/devices.c | 4
dix/dispatch.c | 3
dix/events.c | 101 +--
dix/grabs.c | 21
dix/main.c | 3
dix/pixmap.c | 2
dix/touch.c | 114 +++
dix/window.c | 15
fb/fbpixmap.c | 1
glx/glxdri.c | 2
hw/xfree86/common/xf86platformBus.c | 8
hw/xfree86/modes/xf86Crtc.c | 34 -
hw/xfree86/modes/xf86Cursors.c | 4
hw/xfree86/ramdac/xf86Cursor.c | 28
include/cursor.h | 4
include/dixgrabs.h | 2
include/eventstr.h | 1
include/input.h | 2
include/inputstr.h | 2
render/animcur.c | 3
xfixes/cursor.c | 6
34 files changed, 1057 insertions(+), 218 deletions(-)
New commits:
commit 7b684f9fe7edafda652bf7c003332d5f66dd728b
Author: Julien Cristau <jcristau@debian.org>
Date: Sat Jul 27 13:18:50 2013 +0200
Upload to experimental
diff --git a/debian/changelog b/debian/changelog
index c264855..63f9c84 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.14.2.901-1) UNRELEASED; urgency=low
+xorg-server (2:1.14.2.901-1) experimental; urgency=low
* New upstream release
@@ -29,7 +29,7 @@ xorg-server (2:1.14.2.901-1) UNRELEASED; urgency=low
d/rules.
* Make build-deps match xserver-xorg-dev dependencies and configure checks.
- -- Julien Cristau <jcristau@debian.org> Fri, 26 Jul 2013 14:05:51 +0200
+ -- Julien Cristau <jcristau@debian.org> Sat, 27 Jul 2013 13:18:28 +0200
xorg-server (2:1.12.4-6.1) unstable; urgency=low
commit d227ac876d909f0ace65ff6a39f93fec05e5135d
Author: Julien Cristau <jcristau@debian.org>
Date: Sat Jul 27 13:17:59 2013 +0200
Make build-deps match xserver-xorg-dev dependencies and configure checks.
diff --git a/debian/changelog b/debian/changelog
index eef11b2..c264855 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -27,6 +27,7 @@ xorg-server (2:1.14.2.901-1) UNRELEASED; urgency=low
* Merge sid branch up to 2:1.12.4-6.1.
* Drop old --disable-builddocs, --disable-xcalibrate configure options from
d/rules.
+ * Make build-deps match xserver-xorg-dev dependencies and configure checks.
-- Julien Cristau <jcristau@debian.org> Fri, 26 Jul 2013 14:05:51 +0200
diff --git a/debian/control b/debian/control
index ee4b6ef..90aaa86 100644
--- a/debian/control
+++ b/debian/control
@@ -29,7 +29,7 @@ Build-Depends:
x11proto-randr-dev (>= 1.4.0),
x11proto-record-dev (>= 1.13.99.1),
x11proto-render-dev (>= 2:0.11),
- x11proto-resource-dev,
+ x11proto-resource-dev (>= 1.2.0),
x11proto-scrnsaver-dev,
x11proto-video-dev,
x11proto-xcmisc-dev (>= 1.2.0),
@@ -162,22 +162,21 @@ Architecture: any
Depends:
libpixman-1-dev (>= 0.27.2),
x11proto-core-dev (>= 7.0.22),
- x11proto-input-dev (>= 2.2.99.1),
+ x11proto-input-dev (>= 2.3),
x11proto-xext-dev (>= 7.1.99),
x11proto-video-dev,
x11proto-randr-dev (>= 1.4.0),
x11proto-render-dev (>= 2:0.11),
x11proto-dri2-dev (>= 2.8),
- x11proto-gl-dev,
+ x11proto-gl-dev (>= 1.4.16),
x11proto-fonts-dev,
x11proto-xinerama-dev,
x11proto-kb-dev,
x11proto-xf86dri-dev,
- x11proto-resource-dev,
+ x11proto-resource-dev (>= 1.2.0),
x11proto-scrnsaver-dev,
libxkbfile-dev,
libpciaccess-dev,
- libpixman-1-dev (>= 0.21.8),
mesa-common-dev,
${misc:Depends},
Description: Xorg X server - development files
commit 28b1774c24d03c2a28ac9ae4870b39418bc14a36
Author: Julien Cristau <jcristau@debian.org>
Date: Sat Jul 27 13:17:10 2013 +0200
Drop old unrecognized configure options from d/rules.
diff --git a/debian/changelog b/debian/changelog
index 245abbd..eef11b2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,8 @@ xorg-server (2:1.14.2.901-1) UNRELEASED; urgency=low
[ Julien Cristau ]
* Merge sid branch up to 2:1.12.4-6.1.
+ * Drop old --disable-builddocs, --disable-xcalibrate configure options from
+ d/rules.
-- Julien Cristau <jcristau@debian.org> Fri, 26 Jul 2013 14:05:51 +0200
diff --git a/debian/rules b/debian/rules
index 5fc0a3c..993372e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -112,12 +112,10 @@ confflags += \
--with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
--with-xkb-path=/usr/share/X11/xkb \
--with-xkb-output=/var/lib/xkb \
- --disable-builddocs \
--disable-install-libxf86config \
--enable-mitshm \
--enable-xres \
--disable-xcsecurity \
- --disable-xcalibrate \
--disable-tslib \
--enable-dbe \
--disable-xf86bigfont \
commit 632ab7067a375c418f8f86928c974b877f234dd9
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Jul 26 14:06:36 2013 +0200
Bump changelogs
diff --git a/ChangeLog b/ChangeLog
index 3ce76d4..800af89 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,624 @@
+commit bc41226f7741098e55a3b0df924986991576d50a
+Merge: 4ebd618 2cd62dc
+Author: Matt Dew <marcoz@osource.org>
+Date: Thu Jul 25 22:56:24 2013 -0600
+
+ Merge branch 'server-1.14-touch-fixes' of git://people.freedesktop.org/~whot/xserver into server-1.14-branch
+
+commit 4ebd618bc5ef71507e708e7191091828eca3a7e8
+Author: Matt Dew <marcoz@osource.org>
+Date: Thu Jul 25 22:24:00 2013 -0600
+
+ Bah, bad rev number. Fixed: changed 1.14.3-rc1 to 1.14.2.901
+
+commit fef66ffe7a7e899a9126a1e431b94d881163b00d
+Author: Matt Dew <marcoz@osource.org>
+Date: Thu Jul 25 22:02:26 2013 -0600
+
+ bump rev from 1.14.2 to 1.14.3-rc1
+
+commit 2cd62dc02b67c70d2417b2ccd307ead9596a2967
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 1 08:43:58 2013 +1000
+
+ Xi: return !Success from DeliverTouchEmulatedEvent if we didn't deliver
+
+ All callers currently ignore the new value, so this patch has no effect.
+ Inverse call graph:
+
+ DeliverTouchEmulatedEvent
+ DeliverEmulatedMotionEvent Ignores value
+ DeliverTouchBeginEvent
+ DeliverTouchEvent
+ DeliverTouchEvents Ignores value
+ DeliverTouchEndEvent
+ DeliverTouchEvent
+ DeliverTouchEvents Ignores value
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 9978b57b8d94f061d72a67b99a02b0ba16a11429)
+
+commit c203568905bcbb65fb1e079b626d2c1e90ecb72d
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon May 13 15:22:12 2013 +1000
+
+ Xi: fix warning - remove unused 'rc'
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit fd5ea0237db6d725a48f76b706135df9d3246b82)
+
+commit 93f063c40dc4b339ae9114551071c57b52d98dba
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Jul 12 14:10:10 2013 +1000
+
+ dix: UpdateTouchesForGrab must only free the listener grab if it is non-NULL
+
+ If a client calls XIGrabDevice in response to a ButtonPress event (regular
+ event selection), the device will have a grab, but listener->grab is NULL.
+
+ Check for that, to avoid logspam.
+
+ [ 26293.863] (EE) BUG: triggered 'if (!pGrab)'
+ [ 26293.863] (EE) BUG: grabs.c:256 in FreeGrab()
+ [ 26293.863] (EE)
+ [ 26293.863] (EE) Backtrace:
+ [ 26293.864] (EE) 0: /usr/bin/Xorg (FreeGrab+0x54) [0x45d3fc]
+ [ 26293.864] (EE) 1: /usr/bin/Xorg (UpdateTouchesForGrab+0x135) [0x447d4e]
+ [ 26293.864] (EE) 2: /usr/bin/Xorg (ActivatePointerGrab+0x1ba) [0x447f3d]
+ [ 26293.864] (EE) 3: /usr/bin/Xorg (GrabDevice+0x3e6) [0x4503bc]
+ [ 26293.864] (EE) 4: /usr/bin/Xorg (ProcXIGrabDevice+0x1f9) [0x5981b1]
+ [ 26293.865] (EE) 5: /usr/bin/Xorg (ProcIDispatch+0x78) [0x58aa17]
+ [ 26293.865] (EE) 6: /usr/bin/Xorg (Dispatch+0x30d) [0x43347e]
+ [ 26293.865] (EE) 7: /usr/bin/Xorg (main+0x61d) [0x498175]
+ [ 26293.865] (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x3df5621b75]
+ [ 26293.865] (EE) 9: /usr/bin/Xorg (_start+0x29) [0x423a19]
+ [ 26293.866] (EE) 10: ? (?+0x29) [0x29]
+ [ 26293.866] (EE)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 0e3be0b25fcfeff386bad132526352c2e45f1932)
+
+commit ecd178e632a99ae2f12d2d9b6e9a48eaa421335d
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Jul 9 13:27:19 2013 +1000
+
+ dix: when ungrabbing an active grab, accept pointer grabs (#66720)
+
+ Ungrabbing a device during an active touch grab rejects the grab. Ungrabbing
+ a device during an active pointer grab accepts the grab.
+
+ Rejection is not really an option for a pointer-emulated grab, if a client
+ has a button mask on the window it would get a ButtonPress emulated after
+ UngrabDevice. That is against the core grab behaviour.
+
+ X.Org Bug 66720 <http://bugs.freedesktop.org/show_bug.cgi?id=66720>
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
+ (cherry picked from commit 8eeaa74bc241acb41f1d3ed64971e0b01e794776)
+
+commit 54a7ae04a8475df6ce87e52ff995de22fafc7c92
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon May 27 13:46:49 2013 +1000
+
+ dix: remove logspam in RefCursor()
+
+ This shouldn't have been in the patch
+
+ Reported-by: Colin Harrison <colin.harrison@virgin.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit c21344add2fc589df83b29be5831c36a372201bd)
+
+commit 1e29b269fd712ae1e3552eeddd3529015baee7ae
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed May 15 19:01:11 2013 +1000
+
+ Abstract cursor refcounting
+
+ Too many callers relied on the refcnt being handled correctly. Use a simple
+ wrapper to handle that case.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 9a5ad65330693b3273972b63d10f2907d9ab954a)
+
+commit c0be1168fd3dd2eb01187789ddc30d7aab909a98
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue May 14 14:51:31 2013 +1000
+
+ dix: call UpdateDeviceState() for emulated TouchEndEvents
+
+ ProcessTouchEvents() calls UDS for all touch events, but if the event type
+ was switched to TouchUpdate(pending end) UDS is a noop.
+
+ Daniel Drake found this can cause stuck buttons if a touch grab is
+ activated, rejected and the touch event is passed to a regular listener.
+ This sequence causes the TouchEnd to be changed to TouchUpdate(pending end).
+
+ The actual TouchEnd event is later generated by the server once it is passed
+ to the next listener. UDS is never called for this event, thus the button
+ remains logically down.
+
+ A previous patch suggested for UDS to handle TouchUpdate events [1], however
+ this would release the button when the first TouchEvent is processed, not
+ when the last grab has been released (as is the case for sync pointer
+ grabs). A client may thus have the grab on the device, receive a ButtonPress
+ but see the button logically up in an XQueryPointer request.
+
+ This patch adds a call to UDS to TouchEmitTouchEnd(). The device state must
+ be updated once a TouchEnd event was sent to the last grabbing listener and
+ the number of grabs on the touchpoint is 0.
+
+ [1] http://patchwork.freedesktop.org/patch/13464/
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 35c2e263db01b2b61354298e5e85aa3cae8ac317)
+
+commit 5c32bd0e2c104deaa2820c62289916fff6a4e3cd
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri May 3 15:07:58 2013 +1000
+
+ dix: fix cursor refcounting
+
+ The cursor is referenced during CopyGrab(), thus doesn't need to be handled
+ manually anymore. It does need to be refcounted for temp grabs though.
+
+ The oldGrab handling in ProcGrabPointer is a leftover from the cursor in the
+ grab being refcounted, but the grab itself being a static struct in the
+ DeviceIntRec. Now that all grabs are copied, this lead to a double-free of
+ the cursor (Reproduced in Thunderbird, dragging an email twice (or more
+ often) causes a crash).
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 481702101b86fff003430e952dc65fb41eb56400)
+
+commit 0ee9704f3c70fa7cf77edef55d158ad78df72a25
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri May 3 15:02:05 2013 +1000
+
+ dix: free the old grab when activating a new grab
+
+ A client may call XIGrabDevice twice, overwriting the existing grab. Thus,
+ make sure we free the old copy after we copied it. Free it last, to make
+ sure our refcounts don't run to 0 and inadvertantly free something on the
+ way.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 3093f78d17e48a506aab170a9089cd10e21af299)
+
+commit ef0fff102d1feb5bccffc918da5c0dc7c0d28f3b
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Apr 24 14:46:06 2013 +1000
+
+ Xi: check for HAS_ACCEPTED only for grab listeners
+
+ If we have one listener left but it's not a grab, it cannot be in
+ LISTENER_HAS_ACCEPTED state.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 2566bdd8bc996cccde77b846819808c6239a89d2)
+
+commit f3d63710d57aea0184ae07f0422a76b0fd6d415f
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Apr 24 14:40:31 2013 +1000
+
+ Move TouchListenerGone call to CloseDownClient
+
+ TouchListenerGone cleans up if a client disappears. Having this in
+ FreeGrab() triggers cyclic removal of grabs, emitting wrong events. In
+ particular, it would clean up a passive grab record while that grab is
+ active.
+
+ Move it to CloseDownClient() instead, cleaning up before we go.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 5b00fc52270e9cfdfe7ac1838a21defe50fc3d31)
+
+commit 6c880c143f6a32d3bbc529e4a0ab1663ddecf0a0
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Apr 24 12:53:52 2013 +1000
+
+ dix: remove all listeners when freeing a touch
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 34c9b39d9937c2e19c2dffc9748605f90d40f965)
+
+commit ab76a3a3fc56cf8f530e5ab9b6389b09da1cdc12
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Apr 17 20:15:35 2013 +1000
+
+ dix: always copy grabs, don't reference them
+
+ Introduced in xorg-server-1.13.99.901-2-g9ad0fdb. Storing the grab pointer
+ in the listener turns out to be a bad idea. If the grab is not an active
+ grab or an implicit grab, the pointer stored is the one to the grab attached
+ on the window. This grab may be removed if the client calls UngrabButton or
+ similar while the touch is still active, leaving a dangling pointer.
+
+ To avoid this, copy the grab wherever we need to reference it later. This
+ is also what we do for pointer/keyboard grabs, where we copy the grab as
+ soon as it becomes active.
+
+ Reported-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 395124bd2782823de37e5c5b2f15dba49cff05f6)
+
+commit 6bd9badc780ec9d1fb147dfa0c671979c75b722c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Apr 23 15:52:18 2013 +1000
+
+ dix: AllocGrab can copy if an argument is passed in
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 925e35122ebad877395bcf13676e9dbeb254bdfa)
+
+commit 479f8bf236d17e2a2093d349d2ef6471ff089a53
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Apr 23 15:46:04 2013 +1000
+
+ dix: freeing a null grab is a bug, complain if doing so
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 4980bcef9973ba1f90f53028f061669ee5d2661b)
+
+commit 27752301377698124634d48b62ba7fcf8310caab
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Apr 23 15:39:32 2013 +1000
+
+ dix: use a temporary variable for listeners[0]
+
+ no functional changes
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit ccfa0f2d5de557546815a5e4f59552e2af46b578)
+
+commit d8c0cc9bab1fe159f58c2b5e8056c2d94a623789
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Apr 18 10:32:11 2013 +1000
+
+ dix: drop DeviceIntRec's activeGrab struct
+
+ Obsolete since 4bc2761ad5ec2d0668aec639780ffb136605fbc8. This struct
+ existed so copying a passive grab could be simply done by
+ activeGrab = *grab
+
+ and thus have a copy of the GrabPtr we'd get from various sources but still
+ be able to check device->grab for NULL.
+
+ Since 4bc2761 activeGrab is a pointer itself and points to the same memory
+ as grabinfo->grab, leaving us with the potential of dangling pointers if
+ either calls FreeGrab() and doesn't reset the other one.
+
+ There is no reader of activeGrab anyway, so simply removing it is
+ sufficient.
+
+ Note: field is merely renamed to keep the ABI. Should be removed in the
+ future.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 5363433a5cc64e2f83859aa1c32a89e5e1ddf9e4)
+
+commit 25b641bb324c33226313c15448592b785043eaba
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Apr 17 20:14:56 2013 +1000
+
+ dix: use a tmp variable for the to-be-removed touch listener
+
+ No functional changes.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 7dbf61817d3bd4b1fc71710677e56c5d8cfcdb4e)
+
+commit 88273287e1d7b3c06313f77d450f87a31bf53780
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Apr 17 20:13:34 2013 +1000
+
+ dix: invert a loop condition
+
+ Change the single if condition in the loop body to a
+ if (!foo) continue;
+ and re-indent the rest.
+
+ No functional changes.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit a71a283934406d870bcd8dc376eb1c9ce1c8bbb4)
+
+commit 4081b00d36d074eedf5c8d04196998d23cff28cf
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Feb 28 11:02:40 2013 +1000
+
+ dix: XAllowEvents() on a touch event means accepting it
+
+ A sync grab is the owner once it gets events. If it doesn't replay the
+ event it will get all events from this touch, equivalent to accepting it.
+
+ If the touch has ended before XAllowEvents() is called, we also now need to
+ send the TouchEnd event and clean-up since we won't see anything more from
+ this touch.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 5174b1f98204beee79eba74c4cda5f2be0a60a8f)
+
+commit 8666395484d0ff68526b1afd0044329ca3e9c907
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 1 12:52:35 2013 +1000
+
+ dix: move EmitTouchEnd to touch.c
+
+ No functional changes, this just enables it to be re-used easier.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit e7f79c48b0faea910dc881034c00eb807fcd6210)
+
+commit 4dac09796ca7ec19c1a9b17f338babd51c999e2e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 1 10:41:01 2013 +1000
+
+ Xi: Don't emit a TouchEnd event to a frozen device
+
+ EmitTouchEnd calls DeliverTouchEvents directly instead of through
+ public.processInputProc. If a device is frozen, the TouchEnd is
+ processed while the device is waiting for a XAllowEvents and thus ends the
+ touch point (and the grab) before the client decided what to do with it. In
+ the case of ReplayPointer, this loses the event.
+
+ This is a hack, but making EmitTouchEnd use processInputProc breaks
+ approximately everything, especially the touch point is cleaned up during
+ ProcessTouchEvents. Working around that is a bigger hack than this.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 0eb9390f6048049136347d5a5834d88bfc67cc09)
+
+commit c8a48358065ff94b8307d8aedfe58e54f34ba84f
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Feb 28 13:07:26 2013 +1000
+
+ Xi: use public.processInputProc to replay the touch history
+
+ If a device is frozen in results to a grab, we need to enqueue the events.
+
+ This makes things complicated, and hard to follow since touch events are now
+ replayed in the history, pushed into EnqueueEvent, then replayed later
+ during PlayReleasedEvents in response to an XAllowEvents.
+
+ While the device is frozen, no touch events are processed, so if there is a
+ touch client with ownership mask _below_ the grab this will delay the
+ delivery and potentially screw gesture recognition. However, this is the
+ behaviour we have already anyway if the top-most client is a sync pgrab or
+ there is a sync grab active on the device when the TouchBegin was generated.
+
+ (also note, such a client would only reliably work in case of ReplayPointer
+ anyway)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit a7d989d335f903ffd8b168cd2beeb82c78d30c21)
+
+commit 2fcf86036f95128e9b90ddbd5ffc6edbacd3de9f
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Feb 27 15:05:54 2013 +1000
+
+ Xi: when punting to a new owner, always create TouchEnd events
+
+ If a touch is pending_finish and we just punted it to the next owner, that
+ client must receive a TouchEnd event.
+
+ If we just punted to the last owner and that owner not a touch grab, we need
+ to end the touch since this is the last event to be sent, and the client
+ cannot accept/reject this.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 214d11d3fcdac51fc7afbf3770516ec14f9e13c1)
+
+commit e1c908f3931aa82c7c5f14aa162e02f3abf98faf
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 1 09:15:37 2013 +1000
+
+ Xi: save state for early acceptance
+
+ Delivering an event changes the state to LISTENER_IS_OWNER and we thus lose
+ the information of early acceptance.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 026627fe19aad007544eccf209f0dea05e67a7a7)
+
+commit 7343d05e3a502216532aa9901c3a8948ea118c78
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Feb 28 15:28:46 2013 +1000
+
+ Xi: if a passive async grab is activated from an emulated touch, accept
+
+ Async grabs cannot replay events, they cannot reject, so we can do an early
+ accept here.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit d905348134c80f19793eefb761731b00559ddf3a)
+
+commit 18346911ab0ce1ad66986b83f9afefadec25555e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Feb 28 13:04:36 2013 +1000
+
+ Xi: fix lookup in ActivateEarlyAccept
+
+ ActivateEarlyAccept() can only be called from a grabbing client, so we can
+ ignore the rest. And it's easy enough to get the client from that since
+ 9ad0fdb135a1c336771aee1f6eab75a6ad874aff.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 8b0d21044956f3810199d5e2f38ce33069e97be7)
+
+commit 000d469dd4d97424c72d82e4383ec295e31ffd34
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Feb 28 13:08:27 2013 +1000
+
+ Xi: update the core listener state if we delivered the touch event
+
+ If a TouchBegin is sent to a core client, that client is now the owner.
+
+ By the time the TouchEnd is being processed, the client cannot replay
+ anymore, so we can assume that this is the final touch end and we can clean
+ up the touch record.
+
+ Note: DeliverTouchEmulatedEvent is called for all listeners and immediately
+ bails out if the client is not the owner and thus shouldn't yet get the
+ event. Thus, check the return code.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit d08bae297f9d7651edb1923d6b0d6b14b3d674fc)
+
+commit a7ec834d5e8c351cfa5d87b7902fa061826e3097
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Feb 25 11:21:07 2013 +1000
+
+ Xi: if we delivered a TouchEnd to a passive grab, end it
+
+ ef64b5ee97099618cf2e2cbbd3e471095695ae24 (which introduced the
+ TOUCH_CLIENT_ID check) has a wrong assumption that generated touch events
+ (TOUCH_CLIENT_ID) should not terminate passive grabs.
+ This is untrue, a TouchEnd may be generated in response to a TouchReject
+ higher up. If we _deliver_ an event to a client, terminate the passive grab.
+
+ This requires us to count the actually delivered events too (first hunk).
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 81554d274f04951c55ea7f2e38d0455e2025e08d)
+
+commit 636647bc7f9ed10918cbb228f7d448c8cf733667
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Feb 13 11:26:11 2013 +1000
+
+ dix: don't prepend an activated passive grab to the listeners
+
+ If the device is currently grabbed as the result of a passive grab
+ activating, do not prepend that grab to the listeners (unlike active grabs).
+ Otherwise, a client with a passive pointer grab will prevent touch grabs
+ from activating higher up in the window stack.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 363b6387da6e669099a2da3861c73a29808295a6)
+
+commit 87e027726f2d9223ce2fef2e4d26c18ae680a05e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Feb 13 10:49:23 2013 +1000
+
+ Xi: not having an ownership mask does not mean automatic acceptance
+
+ If we only have a single touch-grabbing client, setting the client as owner
+ would clean up the touch once the TouchEnd was processed. If the client then
+ calls XIAllowTouches() it will receive a BadValue for the touch ID (since
+ the internal record is already cleaned up).
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 9cc45c18ad1511adf3fb163dd4cefbef106edb23)
+
+commit 34f5ca3a70e966d6fe232179a47c3dc660773ad5
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 1 08:26:06 2013 +1000
+
+ Xi: use a temp variable for the new listener
+
+ Instead of accessing ti->listener[0] all the time.
+
+ No functional changes.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit fc504a44d12d537d4e07f659f1863f200a0272ad)
+
+commit 54b125d1751385bcfc3c1b51d21ee6a7dc14143b
+Author: Aaron Plattner <aplattner@nvidia.com>
+Date: Tue Apr 30 14:30:18 2013 -0700
+
+ xfree86: don't enable anything in xf86InitialConfiguration for GPU screens
+
+ There's no point in turning on outputs connected to GPU screens during initial
+ configuration. Not only does this cause them to just display black, it also
+ confuses clients when these screens are attached to a master screen and RandR
+ reports that the outputs are already on.
+
+ Also, don't print the warning about no outputs being found on GPU screens,
+ since that's expected.
+
+ Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
+ Reviewed-by: Dave Airlie <airlied@gmail.com>
+ (cherry picked from commit dbfeaf70623a83e1a3f3255c94d52e0e04702837)
+
+commit 29545a422bbdd11fda5cb61f27720332d68d0c36
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 9 12:52:13 2013 +1000
+
+ gpu: call CreateScreenResources for GPU screens
+
+ I didn't think we needed this before, but after doing some more
+ work with reverse optimus it seems like it should be called.
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+ (cherry picked from commit f2fd8ec3725a61abbc831f0a9ec28fa2b7020c47)
+
+commit f21cc327a56e3b453cf0dba04457223d61c27ea6
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 9 12:52:08 2013 +1000
+
+ dix: allow pixmap dirty helper to be used for non-shared pixmaps
+
+ this allows the pixmap dirty helper to be used for reverse optimus,
+ where the GPU wants to copy from the shared pixmap to its VRAM copy.
+
+ [airlied: slave_dst is wrong name now but pointless ABI churn at this point]
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+ (cherry picked from commit 8fcb9d91b69abc72ddef31b9f2e8585580c6cad2)
+
+commit d817284b01ad3bbe02c71d6b00af7526be77626b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 9 12:52:03 2013 +1000
+
+ xf86crtc: don't use scrn->display for gpu screens
+
+ scrn->display is a property of the main screen really, and we don't
+ want to have the GPU screens use it for anything when picking modes
+ or a front buffer size.
+
+ This fixes a bug where when you plugged a display link device, it
+ would try and allocate a screen the same size as the current running
+ one (3360x1050 in this case), which was too big for the device. Avoid
+ doing this and just pick sizes based on whats plugged into this device.
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+ (cherry picked from commit 16077b81c502e04d77f81f683e0c213b9fe75393)
+
+commit 803d0ac49900903915f1dcd2496f085e5c1afa22
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 9 12:51:55 2013 +1000
+
+ dix/gpu: remove asserts for output/offload from same slave
+
+ We should have no problem allowing output/offload from the same slave,
+ I asserted here, but in order to implement reverse optimus this makes
+ perfect sense. (reverse optimus is intel outputting to nvidia).
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+ (cherry picked from commit f0d0d75bfe62553dde353f89e46ff13dd863fbe8)
+
+commit 3608d9f3dd6ae1d23e23294e9a56cb8158e65d19
+Author: Piotr Dziwinski <piotrdz@gmail.com>
+Date: Sat Feb 23 13:14:45 2013 +0100
+
+ glx: fix uninitialized var in __glXDRIscreenProbe
+
+ Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=59825
+
+ Signed-off-by: Piotr Dziwinski <piotrdz@gmail.com>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit cc3d1a5a6120e721a46c67446ba68f5596055633)
+
commit 2767d9a17d62aede7cabac589c3388078bdb6022
Author: Matt Dew <marcoz@osource.org>
Date: Tue Jun 25 09:49:08 2013 -0600
diff --git a/debian/changelog b/debian/changelog
index f518cf7..566632d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,8 @@
-xorg-server (2:1.14.2-1) UNRELEASED; urgency=low
+xorg-server (2:1.14.2.901-1) UNRELEASED; urgency=low
- [ Maarten Lankhorst ]
* New upstream release
+
+ [ Maarten Lankhorst ]
* Bump minimum required abi, randr, dri2 and gl protos.
* Remove upstreamed patches.
- 02_Add-libnettle-as-option-for-sha1.diff
@@ -22,7 +23,7 @@ xorg-server (2:1.14.2-1) UNRELEASED; urgency=low
* Bump input ABI version in serverminver
* Bump libxi-dev build requirement to 2:1.6.99.1
- -- Robert Hooker <sarvatt@ubuntu.com> Wed, 22 Aug 2012 11:12:17 -0400
+ -- Julien Cristau <jcristau@debian.org> Fri, 26 Jul 2013 14:05:51 +0200
xorg-server (2:1.12.4-4) UNRELEASED; urgency=low
commit 4ebd618bc5ef71507e708e7191091828eca3a7e8
Author: Matt Dew <marcoz@osource.org>
Date: Thu Jul 25 22:24:00 2013 -0600
Bah, bad rev number. Fixed: changed 1.14.3-rc1 to 1.14.2.901
diff --git a/configure.ac b/configure.ac
index 8738813..271e49d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.14.3-rc1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.14.2.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
RELEASE_DATE="2013-07-25"
RELEASE_NAME="Act semi-normal-rc1"
AC_CONFIG_SRCDIR([Makefile.am])
commit fef66ffe7a7e899a9126a1e431b94d881163b00d
Author: Matt Dew <marcoz@osource.org>
Date: Thu Jul 25 22:02:26 2013 -0600
bump rev from 1.14.2 to 1.14.3-rc1
diff --git a/configure.ac b/configure.ac
index 99e3cd6..8738813 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.14.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2013-06-25"
-RELEASE_NAME="Act Abnormal"
+AC_INIT([xorg-server], 1.14.3-rc1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2013-07-25"
+RELEASE_NAME="Act semi-normal-rc1"
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
commit 8c623bd496fa4b697252229614bc03cfde0d8515
Author: Michael Biebl <biebl@debian.org>
Date: Thu Jul 25 19:45:59 2013 +0200
Update changelong and upload to unstable
Signed-off-by: Julien Cristau <jcristau@debian.org>
diff --git a/debian/changelog b/debian/changelog
index a2ef947..faf29dc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.12.4-6.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * 10_Include-missing-selection-h.diff: Fix FTBFS with GCC 4.8. Include
+ selection.h in dix/window.c for the missing DeleteWindowFromAnySelections
+ function prototype. Patch by Gerardo Malazdrewicz (closes: #701372)
+
+ -- Michael Biebl <biebl@debian.org> Thu, 25 Jul 2013 19:45:29 +0200
+
xorg-server (2:1.12.4-6) unstable; urgency=low
* Touch: Fix duplicate TouchBegin selection with virtual devices
commit ca4169aa5e47411a275fedbd78963408beb31d6a
Author: Michael Biebl <biebl@debian.org>
Date: Thu Jul 25 19:44:21 2013 +0200
Fix build failure with GCC 4.8
This patches fixes the following build failure:
../../dix/window.c:887:5: error: implicit declaration of function 'DeleteWindowFromAnySelections' [-Werror=implicit-function-declaration]
by including "selection.h", where the function is prototyped.
Signed-off-by: Julien Cristau <jcristau@debian.org>
diff --git a/debian/patches/10_Include-missing-selection-h.diff b/debian/patches/10_Include-missing-selection-h.diff
new file mode 100644
index 0000000..873b14e
--- /dev/null
+++ b/debian/patches/10_Include-missing-selection-h.diff
@@ -0,0 +1,20 @@
+Description: Fix build failure with GCC 4.8
+ This patches fixes the following build failure:
+
+ ../../dix/window.c:887:5: error: implicit declaration of function 'DeleteWindowFromAnySelections' [-Werror=implicit-function-declaration]
+
+ by including "selection.h", where the function is prototyped.
+
+Author: Gerardo Malazdrewicz <gerardo@malazdrewicz.com.ar>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701372
+--- xorg-server-1.12.4/dix/window.c 2012-05-17 14:09:02.000000000 -0300
++++ xorg-server-1.12.4.good/dix/window.c 2013-04-18 11:53:06.787521781 -0300
+@@ -131,6 +131,8 @@
+ #include "xace.h"
+ #include "exevents.h"
+
++#include "selection.h"
++
+ #include <X11/Xatom.h> /* must come after server includes */
+
+ /******
diff --git a/debian/patches/series b/debian/patches/series
index c89edaf..e05122f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@
07_Revert-kinput-allocate-enough-space-for-null-charact.diff
08_xfree86_fix_ia64_inx_outx.diff
09_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.diff
+10_Include-missing-selection-h.diff
commit 2cd62dc02b67c70d2417b2ccd307ead9596a2967
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Mar 1 08:43:58 2013 +1000
Xi: return !Success from DeliverTouchEmulatedEvent if we didn't deliver
All callers currently ignore the new value, so this patch has no effect.
Inverse call graph:
DeliverTouchEmulatedEvent
DeliverEmulatedMotionEvent Ignores value
DeliverTouchBeginEvent
DeliverTouchEvent
DeliverTouchEvents Ignores value
DeliverTouchEndEvent
DeliverTouchEvent
DeliverTouchEvents Ignores value
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 9978b57b8d94f061d72a67b99a02b0ba16a11429)
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 91281ae..067e6b3 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1373,7 +1373,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
/* We don't deliver pointer events to non-owners */
if (!TouchResourceIsOwner(ti, listener->listener))
- return Success;
+ return !Success;
nevents = TouchConvertToPointerEvent(ev, &motion, &button);
BUG_RETURN_VAL(nevents == 0, BadValue);
@@ -1395,7 +1395,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
/* 'grab' is the passive grab, but if the grab isn't active,
* don't deliver */
if (!dev->deviceGrab.grab)
- return Success;
+ return !Success;
if (grab->ownerEvents) {
WindowPtr focus = NullWindow;
commit c203568905bcbb65fb1e079b626d2c1e90ecb72d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon May 13 15:22:12 2013 +1000
Xi: fix warning - remove unused 'rc'
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit fd5ea0237db6d725a48f76b706135df9d3246b82)
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 30e48f0..91281ae 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1036,7 +1036,6 @@ DeliverOneTouchEvent(ClientPtr client, DeviceIntPtr dev, TouchPointInfoPtr ti,
static void
ActivateEarlyAccept(DeviceIntPtr dev, TouchPointInfoPtr ti)
{
Reply to: