On Mon, Mar 12, 2012 at 04:06:01PM +0800, [email protected] wrote: > From: Alex Wu <[email protected]> > > In case of no regular window, switcher will crash in switch_next() > due to "next == NULL" and in switcher_destroy() due to > "switcher->current == NULL".
Thanks, applied. Kristian > --- > src/shell.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/src/shell.c b/src/shell.c > index 765b0a4..28d5ea7 100644 > --- a/src/shell.c > +++ b/src/shell.c > @@ -1840,6 +1840,9 @@ switcher_next(struct switcher *switcher) > if (next == NULL) > next = first; > > + if (next == NULL) > + return; > + > wl_list_remove(&switcher->listener.link); > wl_list_insert(next->surface.resource.destroy_listener_list.prev, > &switcher->listener.link); > @@ -1871,7 +1874,8 @@ switcher_destroy(struct switcher *switcher, uint32_t > time) > weston_surface_damage(surface); > } > > - activate(compositor->shell, switcher->current, device, time); > + if (switcher->current) > + activate(compositor->shell, switcher->current, device, time); > wl_list_remove(&switcher->listener.link); > wl_input_device_end_keyboard_grab(&device->input_device, time); > free(switcher); > -- > 1.7.5.4 > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
