[PATCH] compositor: fix release button notification

Kristian Høgsberg krh at bitplanet.net
Thu Dec 8 09:57:44 PST 2011


On Thu, Dec 8, 2011 at 4:58 AM, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> On Wed, 7 Dec 2011 15:56:23 +0000
> Rob Bradford <rob at robster.org.uk> wrote:
>
>> On 7 December 2011 14:32, Tiago Vignatti <vignatti at freedesktop.org>
>> wrote:
>> > From: Tiago Vignatti <tiago.vignatti at intel.com>
>> >
>> > Previously the client could set another grab via
>> > wl_input_device_update_grab, which would lead the compositor not
>> > delivering some button events. Now, independently the semantics the
>> > client defines, the compositor will send anyway a button event to
>> > the client, fixing the apparent issue.
>> >
>>
>> This change also has the side-effect of changing the semantics in a
>> non-resize case: button inside surface move outside it and then
>> release.
>>
>> With this change you don't get a button up when the pointer has moved
>> outside the surface - something the implicit grab was trying to
>> achieve.
>>
>> Just the addition in this patch (not the removal) does give me
>> behaviour that maps to what GTK expects.
>
> Just recapping what became the concensus in IRC, AFAIU:
>
> It seems Rob made another patch that lets him continue his work.
>
> The real solution to the problem will be something completely
> different, and probably will be solved after the input rewrite lands,
> since that likely changes things a lot.

Ok, let's keep things as they are for now then.  I also have a branch
with the menu surface type work I've been doing here:

  http://cgit.freedesktop.org/~krh/wayland/log/?h=menu
  http://cgit.freedesktop.org/~krh/wayland-demos/

and part of that work is refactoring the grab mechanics in the
compositor.  One change will be to let the grab itself decide when it
terminates (the menu grab stays in place when the buttons is released,
as does it for keyboard initiated resize/move).  I'll split out the
grab rewrite in one or more commits, independent of the menu surface
type work.

Another thing I'm hoping to acheive with the grab change is to be able
to move more of the input event delivery logic into libwayland-server,
including regular motion, implicit grabs and the dnd grab.

Kristian


More information about the wayland-devel mailing list