<div dir="ltr">I don't think it will. Normally there is always a focus surface, the background if there is nothing above it. This patch only changes the behavior when there is not a focus surface, and i think the only case is when the surface is deleted.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">2013/7/9 Bill Spitzak <span dir="ltr"><<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Will this cause unexpected drag + raise events to be sent to whatever surface is now under the mouse?<br>
<br>
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.<div class="HOEnZb">
<div class="h5"><br>
<br>
Giulio Camuffo wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
currently defult_grab_focus does not repick a surface if a mouse<br>
button is pressed. change it so it does repick if there is no<br>
current focus surface, like when the focus gets destroyed, so the<br>
cursor does not disappear.<br>
---<br>
 src/input.c | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/src/input.c b/src/input.c<br>
index a7a37e5..76ce81a 100644<br>
--- a/src/input.c<br>
+++ b/src/input.c<br>
@@ -102,7 +102,7 @@ default_grab_focus(struct weston_pointer_grab *grab)<br>
        struct weston_surface *surface;<br>
        wl_fixed_t sx, sy;<br>
 -      if (pointer->button_count > 0)<br>
+       if (pointer->button_count > 0 && pointer->focus)<br>
                return;<br>
        surface = weston_compositor_pick_<u></u>surface(pointer->seat-><u></u>compositor,<br>
</blockquote>
</div></div></blockquote></div><br></div>