Right, that was needed, thanks. I have a comment below, other than that it looks good to me.
2013/4/15 Philipp Brüschweiler <[email protected]> > Fixes a segfault. Steps to reproduce: > > * start weston with the x11 backend > * open a terminal > * click on the icon in the top left corner, choose close > * close the x11 window containing weston > --- > src/shell.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/shell.c b/src/shell.c > index de5d6f6..9083f59 100644 > --- a/src/shell.c > +++ b/src/shell.c > @@ -1986,6 +1986,7 @@ popup_grab_end(struct wl_pointer *pointer) > if (pointer->grab->interface == &popup_grab_interface) { > wl_pointer_end_grab(grab->pointer); > shseat->popup_grab.client = NULL; > + assert(!wl_list_empty(&shseat->popup_grab.surfaces_list)); > This should reset shseat->popup_grab.grab.interface too. > /* Send the popup_done event to all the popups open */ > wl_list_for_each(shsurf, > &shseat->popup_grab.surfaces_list, popup.grab_link) { > > wl_shell_surface_send_popup_done(&shsurf->resource); > @@ -2028,6 +2029,7 @@ remove_popup_grab(struct shell_surface *shsurf) > wl_list_init(&shsurf->popup.grab_link); > if (wl_list_empty(&shseat->popup_grab.surfaces_list)) { > wl_pointer_end_grab(shseat->popup_grab.grab.pointer); > + shseat->popup_grab.grab.interface = NULL; > } > } > > -- > 1.8.2.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
