mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2025-12-31 16:00:15 +01:00
desktop-shell: initialize children link
Since commit 9046d2, when destroying a surface, we remove all the links from its children. But when the child surfaces are destroyed, those links will be removed again, but since they were not properly initialized, weston will crash. Call shell_surface_set_parent instead which removes the link and sets parent while also initializing the link, thus avoiding this crash.
This commit is contained in:
parent
38b58eba74
commit
adaa20c017
1 changed files with 2 additions and 4 deletions
|
|
@ -2927,10 +2927,8 @@ destroy_shell_surface(struct shell_surface *shsurf)
|
|||
weston_view_destroy(shsurf->view);
|
||||
|
||||
wl_list_remove(&shsurf->children_link);
|
||||
wl_list_for_each_safe(child, next, &shsurf->children_list, children_link) {
|
||||
wl_list_remove(&child->children_link);
|
||||
child->parent = NULL;
|
||||
}
|
||||
wl_list_for_each_safe(child, next, &shsurf->children_list, children_link)
|
||||
shell_surface_set_parent(child, NULL);
|
||||
|
||||
wl_list_remove(&shsurf->link);
|
||||
free(shsurf);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue