[PATCH] Don't dereference a touch after it has been ended when punting to next owner

Chase Douglas chase.douglas at canonical.com
Mon Feb 13 12:09:32 PST 2012


From: Chase Douglas <chase.douglas at ubuntu.com>

In this case, we have ended the touch because the last owner has
rejected it. We need to return from the function right now so we don't
attempt to dereference another touch client for early acceptance
processing.

Signed-off-by: Chase Douglas <chase.douglas at ubuntu.com>
---
 Xi/exevents.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/Xi/exevents.c b/Xi/exevents.c
index 1ecc3ba..9bc8dfb 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1164,6 +1164,7 @@ TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti,
     {
         EmitTouchEnd(dev, ti, 0, 0);
         TouchEndTouch(dev, ti);
+        return;
     }
 
     if (ti->listeners[0].state == LISTENER_EARLY_ACCEPT)
-- 
1.7.9



More information about the xorg-devel mailing list