On Thu, Nov 1, 2012 at 10:17 PM, Peter Hutterer <span dir="ltr"><<a href="mailto:peter.hutterer@who-t.net" target="_blank">peter.hutterer@who-t.net</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=56557" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=56557</a><br>
<br>
Pointer emulation on the root window does not work correctly. We currently<br>
only deliver to window owners, but no client owns the root window. The real<br>
bug here is that even though the events are registered for, the listener<br>
lookup fails and we never send emulated pointer events to the client.<br>
<br>
Fix this by storing the resource type of the listener with the touch so we<br>
know what to actually look up. And to make this work we need a resource type<br>
for active grabs, and we need to store implicit passive grabs in the<br>
resource system as well.<br>
<br>
oh, and having the second argument to FreeResource() be "don't free the<br>
resource data if the resource type to remove equals this type" is an<br>
interesting choice of an API.<br>
</blockquote></div><br></div><div class="gmail_extra">I'm slowly losing my memory of the internals of X :(. While I can't make out exactly how this works immediately, it looks like a proper solution all around.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Reviewed-by: Chase Douglas <<a href="mailto:chase.douglas@ubuntu.com">chase.douglas@ubuntu.com</a>></div>