On 29/07/15 01:12 PM, Ryo Munakata wrote: > In shell_destroy_shell_surface, we remove the link of a shell_surface. > There is a case which the link references shell_client::surface_list > which is already free'd. > Therefore we have to remove shell_client::surface_list when freeing > a shell_client. > > Signed-off-by: Ryo Munakata <ryomnk...@gmail.com> > --- > desktop-shell/shell.c | 3 +++ > 1 file changed, 3 insertions(+)
I thought this looked familiar... See also: http://patchwork.freedesktop.org/patch/50713/ :) > > diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c > index 9e3701f..9caf5bc 100644 > --- a/desktop-shell/shell.c > +++ b/desktop-shell/shell.c > @@ -5791,6 +5791,9 @@ handle_shell_client_destroy(struct wl_listener > *listener, void *data) > > if (sc->ping_timer) > wl_event_source_remove(sc->ping_timer); > + > + wl_list_remove(&sc->surface_list); > + > free(sc); > } > > _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel