* [gentoo-commits] gentoo-x86 commit in x11-drivers/xf86-input-synaptics/files: xf86-input-synaptics-1.6.2-reset-num_active_touches.patch
@ 2012-11-13 15:57 Chi-Thanh Christopher Nguyen (chithanh)
0 siblings, 0 replies; 2+ messages in thread
From: Chi-Thanh Christopher Nguyen (chithanh) @ 2012-11-13 15:57 UTC (permalink / raw
To: gentoo-commits
chithanh 12/11/13 15:57:05
Added:
xf86-input-synaptics-1.6.2-reset-num_active_touches.patch
Log:
Add patch to fix crash on xorg-server-1.12, bug #428084.
(Portage version: 2.1.11.31/cvs/Linux x86_64, unsigned Manifest commit)
Revision Changes Path
1.1 x11-drivers/xf86-input-synaptics/files/xf86-input-synaptics-1.6.2-reset-num_active_touches.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/xf86-input-synaptics/files/xf86-input-synaptics-1.6.2-reset-num_active_touches.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/xf86-input-synaptics/files/xf86-input-synaptics-1.6.2-reset-num_active_touches.patch?rev=1.1&content-type=text/plain
Index: xf86-input-synaptics-1.6.2-reset-num_active_touches.patch
===================================================================
From eae444eb1a85d2401501d29f9a6c654c046f806b Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 30 Aug 2012 06:38:38 +0000
Subject: Reset num_active_touches on DeviceOff (#52496)
When disabling the device, reset num_active_touches to zero. Otherwise,
num_active_touches stays at the value it was on DeviceOff(). Future touches
add to that value until the index may go past priv->open_slots[].
That causes spurious memory corruption on touch ends.
And as of 55fc42e7c9b4948cadd4f98ef7b6a3b12e268e3e we ignore pre-existing
touches anyway.
Test-case:
- place num_touches fingers on the touchpad
- xinput disable <device>
- lift fingers
- xinput enable <device>
- place finger on device, num_active_touches is now (num_touches + 1)
X.Org Bug 52496 <http://bugs.freedesktop.org/show_bug.cgi?id=52496>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
(cherry picked from commit a245d42f53096b1ae81e6702729f97ca508e5b5b)
Conflicts:
src/synaptics.c
---
diff --git a/src/synaptics.c b/src/synaptics.c
index cd9f936..a28e984 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -1154,6 +1154,7 @@ SynapticsReset(SynapticsPrivate * priv)
priv->prev_z = 0;
priv->prevFingers = 0;
#ifdef HAVE_MULTITOUCH
+ priv->num_active_touches = 0;
memset(priv->open_slots, 0, priv->num_slots * sizeof(int));
#endif
}
@@ -3118,6 +3119,7 @@ UpdateTouchState(InputInfoPtr pInfo, struct SynapticsHwState *hw)
if (hw->slot_state[i] == SLOTSTATE_OPEN) {
priv->open_slots[priv->num_active_touches] = i;
priv->num_active_touches++;
+ BUG_WARN(priv->num_active_touches > priv->num_slots);
}
else if (hw->slot_state[i] == SLOTSTATE_CLOSE) {
Bool found = FALSE;
--
cgit v0.9.0.2-2-gbebe
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] gentoo-x86 commit in x11-drivers/xf86-input-synaptics/files: xf86-input-synaptics-1.6.2-reset-num_active_touches.patch
@ 2014-05-14 16:42 Chi-Thanh Christopher Nguyen (chithanh)
0 siblings, 0 replies; 2+ messages in thread
From: Chi-Thanh Christopher Nguyen (chithanh) @ 2014-05-14 16:42 UTC (permalink / raw
To: gentoo-commits
chithanh 14/05/14 16:42:20
Removed:
xf86-input-synaptics-1.6.2-reset-num_active_touches.patch
Log:
Version bumps. Drop some old versions.
(Portage version: 2.2.8-r1/cvs/Linux x86_64, unsigned Manifest commit)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-05-14 16:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-14 16:42 [gentoo-commits] gentoo-x86 commit in x11-drivers/xf86-input-synaptics/files: xf86-input-synaptics-1.6.2-reset-num_active_touches.patch Chi-Thanh Christopher Nguyen (chithanh)
-- strict thread matches above, loose matches on Subject: below --
2012-11-13 15:57 Chi-Thanh Christopher Nguyen (chithanh)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox