https://bugs.freedesktop.org/show_bug.cgi?id=76662

--- Comment #4 from Ander Conselvan de Oliveira <[email protected]> ---
It seems the problem is related to the popup grab not ending at the moment the
button is released after a menu item was clicked. In popup_grab_button()
there's a statement

        if (/* there's focus */) {
               /* send button event */
        } else if (state == WL_POINTER_BUTTON_STATE_RELEASED &&
                   (shseat->popup_grab.initial_up ||
                    time - shseat->seat->pointer->grab_time > 500)) {
                popup_grab_end(grab->pointer);
        }

If that was just two separate 'if' statements, the grab would end at the moment
the button is released. I couldn't really figure out why the 'else if' is there
looking through the git history, but I take there's something I'm not seeing.

The way it is now, the grab ends only when the destroy animation finishes or
the user click somewhere else. In the latter case, if the click is in a surface
that belongs to another client, the click event is swallowed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Wayland-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-bugs

Reply via email to