Confirmed. This patch fixes https://bugs.freedesktop.org/show_bug.cgi?id=66167
---- U. Artie > -----Original Message----- > From: wayland-devel-bounces+ullysses.a.eoff=intel....@lists.freedesktop.org > [mailto:wayland-devel- > [email protected]] On Behalf Of Rob > Bradford > Sent: Wednesday, June 26, 2013 11:49 AM > To: [email protected] > Cc: Rob Bradford > Subject: [PATCH weston] shell: Allow ending of popup grabs from within the > starting of the grab > > From: Rob Bradford <[email protected]> > > Calling weston_pointer_start_grab can lead to a code path (in this case > when the shell surface is unresponsive) that can try and remove the > popup grab to setup a shell grab. > > Ending the popup grab requires removing the surface from the grab's > surfaces list - however the grab had not yet been fully setup so the > grabbed surface was not yet in this list. > > With this change we ensure we add the surface to the list before setting > up the pointer grab. > > https://bugs.freedesktop.org/show_bug.cgi?id=66167 > --- > src/shell.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/shell.c b/src/shell.c > index 9869db5..b20b1e1 100644 > --- a/src/shell.c > +++ b/src/shell.c > @@ -2121,9 +2121,11 @@ add_popup_grab(struct shell_surface *shsurf, struct > shell_seat *shseat) > if (shseat->seat->pointer->button_count > 0) > shseat->popup_grab.initial_up = 0; > > + wl_list_insert(&shseat->popup_grab.surfaces_list, > &shsurf->popup.grab_link); > weston_pointer_start_grab(seat->pointer, > &shseat->popup_grab.grab); > + } else { > + wl_list_insert(&shseat->popup_grab.surfaces_list, > &shsurf->popup.grab_link); > } > - wl_list_insert(&shseat->popup_grab.surfaces_list, > &shsurf->popup.grab_link); > } > > static void > -- > 1.8.3.1 > > _______________________________________________ > wayland-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
