debian/changelog | 3 - debian/patches/219_fedora-pointer-barriers.diff | 49 ++++-------------------- 2 files changed, 11 insertions(+), 41 deletions(-)
New commits: commit 6fb41b86beaa589402cacf2c29676a81a81d74a5 Author: Timo Aaltonen <tjaal...@ubuntu.com> Date: Tue Jun 28 13:09:37 2011 +0300 Update crtc confinement patch so it builds. this one also merges changes from the v3 patches that got upstream. diff --git a/debian/changelog b/debian/changelog index f16deb1..7991304 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xorg-server (2:1.10.2-1ubuntu2) UNRELEASED; urgency=low - * Update the cursor confinement patch with one that should work. + * Update the crtc confinement patch with one that should work, with + further fixes from upstream. -- Timo Aaltonen <tjaal...@ubuntu.com> Mon, 27 Jun 2011 19:21:03 +0300 diff --git a/debian/patches/219_fedora-pointer-barriers.diff b/debian/patches/219_fedora-pointer-barriers.diff index 0995654..a4fab7e 100644 --- a/debian/patches/219_fedora-pointer-barriers.diff +++ b/debian/patches/219_fedora-pointer-barriers.diff @@ -13,8 +13,7 @@ Subject: [PATCH] CRTC confine and pointer barriers randr/randr.c | 2 + randr/randrstr.h | 4 + randr/rrcrtc.c | 155 ++++++++++++++++ - test/Makefile.am | 4 +- - xfixes/cursor.c | 408 ++++++++++++++++++++++++++++++++++++++++++- + xfixes/cursor.c | 399 ++++++++++++++++++++++++++++++++++++++++++- xfixes/xfixes.c | 24 ++- xfixes/xfixes.h | 17 ++ xfixes/xfixesint.h | 16 ++ @@ -412,27 +411,6 @@ index 98206a2..d4d8f2a 100644 + } + } +} -diff --git a/test/Makefile.am b/test/Makefile.am -index 456221e..ccdb859 100644 ---- a/test/Makefile.am -+++ b/test/Makefile.am -@@ -1,6 +1,6 @@ - if UNITTESTS - SUBDIRS= . xi2 --check_PROGRAMS = xkb input xtest -+check_PROGRAMS = xkb input xtest list fixes - check_LTLIBRARIES = libxservertest.la - - TESTS=$(check_PROGRAMS) -@@ -16,6 +16,8 @@ endif - xkb_LDADD=$(TEST_LDADD) - input_LDADD=$(TEST_LDADD) - xtest_LDADD=$(TEST_LDADD) -+list_LDADD=$(TEST_LDADD) -+fixes_LDADD=$(TEST_LDADD) - - libxservertest_la_LIBADD = \ - $(XSERVER_LIBS) \ diff --git a/xfixes/cursor.c b/xfixes/cursor.c index fb608f6..5c55c95 100644 --- a/xfixes/cursor.c @@ -498,7 +476,7 @@ index fb608f6..5c55c95 100644 deleteCursorHideCountsForScreen(pScreen); ret = (*pScreen->CloseScreen) (index, pScreen); free(cs); -@@ -1029,6 +1045,391 @@ CursorFreeWindow (pointer data, XID id) +@@ -1029,6 +1045,382 @@ CursorFreeWindow (pointer data, XID id) return 1; } @@ -553,8 +531,8 @@ index fb608f6..5c55c95 100644 + +/** + * Test if the movement vector x1/y1 → x2/y2 is intersecting with the -+ * barrier. A movement vector with the startpoint or endpoint on the barrier -+ * itself counts as intersecting. ++ * barrier. A movement vector with the startpoint or endpoint adjacent to ++ * the barrier itself counts as intersecting. + * + * @param x1 X start coordinate of movement vector + * @param y1 Y start coordinate of movement vector @@ -581,32 +559,22 @@ index fb608f6..5c55c95 100644 + return FALSE; + if (dir & BarrierNegativeX && x1 == (barrier->x1 - 1)) + return FALSE; -+ /* startpoint on barrier */ ++ /* startpoint adjacent to barrier, moving towards -> block */ + if (x1 == barrier->x1 && y1 >= barrier->y1 && y1 <= barrier->y2) { + *distance = 0; + return TRUE; + } -+ /* endpoint on barrier */ -+ if (x2 == barrier->x1 && y2 >= barrier->y1 && y2 <= barrier->y2) { -+ *distance = abs(x2 - x1); -+ return TRUE; -+ } + } else { + /* handle immediate barrier adjacency, moving away */ + if (dir & BarrierPositiveY && y1 == barrier->y1) + return FALSE; + if (dir & BarrierNegativeY && y1 == (barrier->y1 - 1)) + return FALSE; -+ /* startpoint on barrier */ ++ /* startpoint adjacent to barrier, moving towards -> block */ + if (y1 == barrier->y1 && x1 >= barrier->x1 && x1 <= barrier->x2) { + *distance = 0; + return TRUE; + } -+ /* endpoint on barrier */ -+ if (y2 == barrier->y1 && x2 >= barrier->x1 && x2 <= barrier->x2) { -+ *distance = abs(y2 - y1); -+ return TRUE; -+ } + } + + /* not an edge case, compute distance */ @@ -682,7 +650,8 @@ index fb608f6..5c55c95 100644 +void +barrier_clamp_to_barrier(struct PointerBarrier *barrier, int dir, int *x, int *y) +{ -+ if (barrier_is_vertical(barrier)) { ++ if (barrier_is_vertical(barrier)) ++ { + if ((dir & BarrierNegativeX) & ~barrier->directions) + *x = barrier->x1; + if ((dir & BarrierPositiveX) & ~barrier->directions) @@ -714,7 +683,7 @@ index fb608f6..5c55c95 100644 + * Given the origin and the movement vector, get the nearest barrier + * to the origin that is blocking the movement. + * Clamp to that barrier. -+ * Then, check from the clamped position to the original ++ * Then, check from the clamped intersection to the original + * destination, again finding the nearest barrier and clamping. + */ + dir = barrier_get_direction(ox, oy, *x, *y); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1qbvfw-0000vk...@vasks.debian.org