Will this cause unexpected drag + raise events to be sent to whatever surface is now under the mouse?

IMHO this is acceptable, but considering some other patches being posted here some will disagree. They want the server to deliver an exactly specified sequence of events with matching up/down to each client.

Giulio Camuffo wrote:
currently defult_grab_focus does not repick a surface if a mouse
button is pressed. change it so it does repick if there is no
current focus surface, like when the focus gets destroyed, so the
cursor does not disappear.
---
 src/input.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/input.c b/src/input.c
index a7a37e5..76ce81a 100644
--- a/src/input.c
+++ b/src/input.c
@@ -102,7 +102,7 @@ default_grab_focus(struct weston_pointer_grab *grab)
        struct weston_surface *surface;
        wl_fixed_t sx, sy;
- if (pointer->button_count > 0)
+       if (pointer->button_count > 0 && pointer->focus)
                return;
surface = weston_compositor_pick_surface(pointer->seat->compositor,
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to