xorg-server: Changes to 'ubuntu-quantal-nexus7'
debian/changelog | 10
debian/patches/233_dix_save_touchpoint_coords_before_transform.patch | 205 ++++++++++
debian/patches/series | 3
3 files changed, 218 insertions(+)
New commits:
commit b3cc7a2bfebd6c12aacd2f8aa65422dbc0ee0bab
Author: Bryce Harrington <bryce@canonical.com>
Date: Wed Nov 21 15:18:54 2012 -0800
Update changelog for release to nexus7 ppa
diff --git a/debian/changelog b/debian/changelog
index 766c962..dad1c42 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,10 @@
-xorg-server (2:1.13.0-0ubuntu7) UNRELEASED; urgency=low
+xorg-server (2:1.13.0-0ubuntu6.1~nexus7.1) quantal; urgency=low
- * Add 233_dix_save_touchpoint_coords_before_transform.patch: Patch
- proposed to xorg-devel@ to fix issue where when a transformation
- matrix is applied on input, it gets applied multiple times.
- (LP: #1076627)
+ * Add 233_dix_save_touchpoint_coords_before_transform.patch: Fixes issue
+ where input transformation matrix gets applied multiple times. This
+ patch was proposed to xorg-devel@ and has not yet been merged to
+ the upstream tree, so should be replaced with what gets applied.
+ (LP: #1075415, #1076567, #1076627)
-- Bryce Harrington <bryce@canonical.com> Wed, 21 Nov 2012 19:29:41 +0000
commit 90def7f6690e2346ee9e408a94735effe9d8a70a
Author: Bryce Harrington <bryce@canonical.com>
Date: Wed Nov 21 14:23:25 2012 -0800
Add patch 233 to fix touch input while rotated
diff --git a/debian/changelog b/debian/changelog
index bf4e911..766c962 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.13.0-0ubuntu7) UNRELEASED; urgency=low
+
+ * Add 233_dix_save_touchpoint_coords_before_transform.patch: Patch
+ proposed to xorg-devel@ to fix issue where when a transformation
+ matrix is applied on input, it gets applied multiple times.
+ (LP: #1076627)
+
+ -- Bryce Harrington <bryce@canonical.com> Wed, 21 Nov 2012 19:29:41 +0000
+
xorg-server (2:1.13.0-0ubuntu6) quantal; urgency=low
[ Timo Aaltonen ]
diff --git a/debian/patches/233_dix_save_touchpoint_coords_before_transform.patch b/debian/patches/233_dix_save_touchpoint_coords_before_transform.patch
new file mode 100644
index 0000000..adb9d64
--- /dev/null
+++ b/debian/patches/233_dix_save_touchpoint_coords_before_transform.patch
@@ -0,0 +1,205 @@
+From fetchmail Thu Nov 8 14:21:57 2012
+Return-Path: <xorg-devel-bounces+bryce=canonical.com@lists.x.org>
+X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
+ humber.bryceharrington.org
+X-Spam-Level:
+X-Spam-Status: No, score=-7.4 required=5.0 tests=BWH_DEBIAN,BWH_DEBIAN_2,
+ BWH_FREE,BWH_FREE_2,BWH_PATCH_1,BWH_PATCH_2,BWH_PATCH_3,BWH_SPELLING_2b,
+ DKIM_SIGNED,MISSING_FROM,T_DKIM_INVALID autolearn=ham version=3.3.2
+Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145])
+ by vinyl.outflux.net (8.14.4/8.14.4/Debian-2ubuntu2) with ESMTP id qA8MHM9S009852
+ for <bryce@endarchy.org>; Thu, 8 Nov 2012 14:17:22 -0800
+Received: from cluster-j.mailcontrol.com (cluster-j.mailcontrol.com [85.115.54.190])
+ by fiordland.canonical.com (Postfix) with ESMTP id C7169A18CF4
+ for <bryce.harrington@cleanmail.canonical.com>; Thu, 8 Nov 2012 22:17:16 +0000 (UTC)
+Received: from arctowski.canonical.com (arctowski.canonical.com [91.189.94.158])
+ by rly27j.srv.mailcontrol.com (MailControl) with ESMTP id qA8MHFbx032037
+ for <bryce.harrington@cleanmail.canonical.com>; Thu, 8 Nov 2012 22:17:15 GMT
+Received: from fiordland.canonical.com ([91.189.94.145])
+ by arctowski.canonical.com with esmtp (Exim 4.71)
+ (envelope-from <xorg-devel-bounces+bryce=canonical.com@lists.x.org>)
+ id 1TWaPT-0006Wp-Ft
+ for bryce.harrington@cleanmail.canonical.com; Thu, 08 Nov 2012 22:17:15 +0000
+Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177])
+ by fiordland.canonical.com (Postfix) with ESMTP id 137A3A18CF4
+ for <bryce@canonical.com>; Thu, 8 Nov 2012 22:17:15 +0000 (UTC)
+Received: from gabe.freedesktop.org (localhost [127.0.0.1])
+ by gabe.freedesktop.org (Postfix) with ESMTP id 6323D9EF0A
+ for <bryce@canonical.com>; Thu, 8 Nov 2012 14:17:14 -0800 (PST)
+X-Original-To: xorg-devel@lists.x.org
+Delivered-To: xorg-devel@lists.x.org
+Received: from mail-ie0-f170.google.com (mail-ie0-f170.google.com
+ [209.85.223.170])
+ by gabe.freedesktop.org (Postfix) with ESMTP id A19AE9E8E1
+ for <xorg-devel@lists.x.org>; Thu, 8 Nov 2012 14:14:11 -0800 (PST)
+Received: by mail-ie0-f170.google.com with SMTP id c12so4623944ieb.15
+ for <xorg-devel@lists.x.org>; Thu, 08 Nov 2012 14:14:11 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google;
+ h=from:to:cc:subject:date:message-id:x-mailer;
+ bh=ChYBhB6uKrVo4Ao196l73x2fAcIlO26+FQDoBGw1w+Q=;
+ b=jUNE0YMNkPVtK3L8aDM9vAkeTj895KvO6R39IsvdAJLojh5/jNdMluqAJjqIVlAdcy
+ aSH9eKSyQgpZgq1z6k00gShenCU5LbGcE589ERCy+G88IDzbIt2gVl3kBPtn1afjMKlR
+ cO7vkm9wjRSbdURKdiM09DrcjDb2uP2LfBAKI=
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=google.com; s=20120113;
+ h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state;
+ bh=ChYBhB6uKrVo4Ao196l73x2fAcIlO26+FQDoBGw1w+Q=;
+ b=AsccAWxVJp1JFYFojIhP3Bp6cbti51qYFsNW+jEK/EiqRXQ5tXaCSjh596FFxIXBou
+ jeY/yaXrNoWDeJ3EIn2VqZOe6rREdp6Wyi094577azkafnSz6taWRi78eahx/EZ9diUG
+ erHVhqcJoi9/IDYbMNLQM+HZixf6IePtpMpsXW5IPZapy8qWYr0fQGivFJNR8JjeI65k
+ zo9smHcctrAtPxAFS/rFqJ92CzLJ+Q7yNBWYp30mi0sj8Et4gNwhdXk/NE3f0RHfocMQ
+ WnfvTVL4Rq1kBTP93x9h4iGqxXpkNy5RHy7UO1lR18IekMn7WAmMumDdt+0+biKWoDQY
+ tGXA==
+Received: by 10.50.41.129 with SMTP id f1mr9546471igl.53.1352412851135;
+ Thu, 08 Nov 2012 14:14:11 -0800 (PST)
+Received: from ynovikov-z620.wat.corp.google.com
+ (ynovikov-z620.wat.corp.google.com [172.23.176.218])
+ by mx.google.com with ESMTPS id gz10sm5784369igc.9.2012.11.08.14.14.08
+ (version=TLSv1/SSLv3 cipher=OTHER);
+ Thu, 08 Nov 2012 14:14:10 -0800 (PST)
+From: Yuly Novikov <ynovikov@chromium.org>
+To: xorg-devel@lists.x.org
+Subject: [PATCH] dix: Save touchpoint last coordinates before transform. #49347
+Date: Thu, 8 Nov 2012 17:13:39 -0500
+Message-Id: <1352412820-2098-1-git-send-email-ynovikov@chromium.org>
+X-Mailer: git-send-email 1.7.7.3
+X-Gm-Message-State: ALoCoQlTsnH/BfXzhWsBi3khQqpVw3HqsxOMxQd8/ankSlsWTNEBphsEpSVtfUe1ueGrFQGbnjmH
+X-Mailman-Approved-At: Thu, 08 Nov 2012 14:16:46 -0800
+Cc: ynovikov@chromium.org
+X-BeenThere: xorg-devel@lists.x.org
+X-Mailman-Version: 2.1.13
+Precedence: list
+List-Id: "X.Org development list" <xorg-devel.lists.x.org>
+List-Unsubscribe: <http://lists.x.org/mailman/options/xorg-devel>,
+ <mailto:xorg-devel-request@lists.x.org?subject=unsubscribe>
+List-Archive: <http://lists.x.org/archives/xorg-devel>
+List-Post: <mailto:xorg-devel@lists.x.org>
+List-Help: <mailto:xorg-devel-request@lists.x.org?subject=help>
+List-Subscribe: <http://lists.x.org/mailman/listinfo/xorg-devel>,
+ <mailto:xorg-devel-request@lists.x.org?subject=subscribe>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+Sender: xorg-devel-bounces+bryce=canonical.com@lists.x.org
+Errors-To: xorg-devel-bounces+bryce=canonical.com@lists.x.org
+X-Mailcontrol-Inbound: WBq!ucXEz80wFmxD6S7f3nyjenN!phNbIQWiyBG44+lo3FL0yiLKb3yjenN!phNbh+9WRKrdgbE=
+X-Scanned-By: MIMEDefang 2.71 on 198.145.64.163
+Envelope-To: bryce@endarchy.org
+X-MIMEDefang-Filter: outflux$Revision: 1.316 $
+X-HELO: fiordland.canonical.com
+Status: RO
+Content-Length: 4239
+Lines: 111
+
+A touchpoint used to store the entire valuators structure,
+and coordinates there were stored post-transformation,
+which resulted in Coordinate Transformation Matrix
+being applied multiple times to the last coordinates,
+in the case when only pressure changes in the last touch event.
+
+This commit gets rid of the valuators, as only X and Y coordinates
+are actually used, and stores only the relevant values.
+The variable name was changed to indicate
+that the values are stored before transformation,
+to avoid confusion with last.valuators, which are after transformation.
+
+Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=49347
+
+Signed-off-by: Yuly Novikov <ynovikov@chromium.org>
+---
+ dix/devices.c | 2 --
+ dix/getevents.c | 19 ++++++-------------
+ dix/touch.c | 1 -
+ include/inputstr.h | 3 +--
+ 4 files changed, 7 insertions(+), 18 deletions(-)
+
+diff --git a/dix/devices.c b/dix/devices.c
+index 613323f..d23b1b4 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -967,8 +967,6 @@ CloseDevice(DeviceIntPtr dev)
+ free(dev->deviceGrab.sync.event);
+ free(dev->config_info); /* Allocated in xf86ActivateDevice. */
+ free(dev->last.scroll);
+- for (j = 0; j < dev->last.num_touches; j++)
+- free(dev->last.touches[j].valuators);
+ free(dev->last.touches);
+ dev->config_info = NULL;
+ dixFreePrivates(dev->devPrivates, PRIVATE_DEVICE);
+diff --git a/dix/getevents.c b/dix/getevents.c
+index 8b4379d..fe60ac3 100644
+--- a/dix/getevents.c
++++ b/dix/getevents.c
+@@ -1951,32 +1951,25 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
+ default:
+ return 0;
+ }
+- if (t->mode == XIDirectTouch && !(flags & TOUCH_CLIENT_ID)) {
+- if (!valuator_mask_isset(&mask, 0))
+- valuator_mask_set_double(&mask, 0,
+- valuator_mask_get_double(touchpoint.ti->
+- valuators, 0));
+- if (!valuator_mask_isset(&mask, 1))
+- valuator_mask_set_double(&mask, 1,
+- valuator_mask_get_double(touchpoint.ti->
+- valuators, 1));
+- }
+
+ /* Get our screen event co-ordinates (root_x/root_y/event_x/event_y):
+ * these come from the touchpoint in Absolute mode, or the sprite in
+ * Relative. */
+ if (t->mode == XIDirectTouch) {
+- transformAbsolute(dev, &mask);
+
+ if (!(flags & TOUCH_CLIENT_ID)) {
+- for (i = 0; i < valuator_mask_size(&mask); i++) {
++ for (i = 0; i < 2; i++) {
+ double val;
+
+ if (valuator_mask_fetch_double(&mask, i, &val))
+- valuator_mask_set_double(touchpoint.ti->valuators, i, val);
++ touchpoint.ti->last_raw_axes[i] = val;
++ else
++ valuator_mask_set_double(&mask, i,
++ touchpoint.ti->last_raw_axes[i]);
+ }
+ }
+
++ transformAbsolute(dev, &mask);
+ clipAbsolute(dev, &mask);
+ }
+ else {
+diff --git a/dix/touch.c b/dix/touch.c
+index 5f77be5..5074ec7 100644
+--- a/dix/touch.c
++++ b/dix/touch.c
+@@ -226,7 +226,6 @@ void
+ TouchInitDDXTouchPoint(DeviceIntPtr dev, DDXTouchPointInfoPtr ddxtouch)
+ {
+ memset(ddxtouch, 0, sizeof(*ddxtouch));
+- ddxtouch->valuators = valuator_mask_new(dev->valuator->numAxes);
+ }
+
+ Bool
+diff --git a/include/inputstr.h b/include/inputstr.h
+index 5a38924..c06f9fe 100644
+--- a/include/inputstr.h
++++ b/include/inputstr.h
+@@ -330,8 +330,7 @@ typedef struct _DDXTouchPointInfo {
+ Bool active; /* whether or not the touch is active */
+ uint32_t ddx_id; /* touch ID given by the DDX */
+ Bool emulate_pointer;
+-
+- ValuatorMask *valuators; /* last recorded axis values */
++ double last_raw_axes[2]; /* last X/Y axis valuator data as posted */
+ } DDXTouchPointInfoRec;
+
+ typedef struct _TouchClassRec {
+--
+1.7.7.3
+
+_______________________________________________
+xorg-devel@lists.x.org: X.Org development
+Archives: http://lists.x.org/archives/xorg-devel
+Info: http://lists.x.org/mailman/listinfo/xorg-devel
+
diff --git a/debian/patches/series b/debian/patches/series
index b81784e..65ae588 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -32,3 +32,6 @@
229_udev-fix.diff
230-fix-compat-output-selection.patch
231-scan-pci-after-probing-devices.patch
+
+# Posted on xorg-devel@; not yet in tree
+233_dix_save_touchpoint_coords_before_transform.patch
Reply to: