view: clear view->{title,app_id} later in view_destroy()

...as it *feels* unsafe to call functions like `undecorate()` after
clearing view->{title,app_id}, which are expected to be non-NULL.
This commit is contained in:
tokyo4j 2026-03-12 01:17:11 +09:00 committed by Consolatis
parent ab60379c7f
commit a3646721bc

View file

@ -2501,9 +2501,6 @@ view_destroy(struct view *view)
wl_list_remove(&view->set_title.link); wl_list_remove(&view->set_title.link);
wl_list_remove(&view->destroy.link); wl_list_remove(&view->destroy.link);
zfree(view->title);
zfree(view->app_id);
if (view->foreign_toplevel) { if (view->foreign_toplevel) {
foreign_toplevel_destroy(view->foreign_toplevel); foreign_toplevel_destroy(view->foreign_toplevel);
view->foreign_toplevel = NULL; view->foreign_toplevel = NULL;
@ -2558,6 +2555,9 @@ view_destroy(struct view *view)
assert(wl_list_empty(&view->events.set_icon.listener_list)); assert(wl_list_empty(&view->events.set_icon.listener_list));
assert(wl_list_empty(&view->events.destroy.listener_list)); assert(wl_list_empty(&view->events.destroy.listener_list));
zfree(view->title);
zfree(view->app_id);
/* Remove view from server->views */ /* Remove view from server->views */
wl_list_remove(&view->link); wl_list_remove(&view->link);
free(view); free(view);