desktop-shell: Clarify weston_view destruction at tear down
This documents the fact that other views are handled implictly by libweston-desktop, and we shouldn't attempt to destroy indiscriminately views that aren't created by desktop-shell. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
This commit is contained in:
+11
-3
@@ -4875,9 +4875,17 @@ desktop_shell_destroy_layer(struct weston_layer *layer)
|
|||||||
* additional black_view created and added to its layer_link
|
* additional black_view created and added to its layer_link
|
||||||
* fullscreen view. See shell_ensure_fullscreen_black_view()
|
* fullscreen view. See shell_ensure_fullscreen_black_view()
|
||||||
*
|
*
|
||||||
* As that black_view it is not a weston_desktop_surface
|
* Note that we do not choose to destroy all other potential
|
||||||
* we can't have a shsurf for it so we just destroy it like
|
* views we find in the layer, but instead we explicitly verify
|
||||||
* we do it in desktop_surface_removed() */
|
* if the view in question was explicitly created by
|
||||||
|
* desktop-shell, rather than libweston-desktop (in
|
||||||
|
* desktop_surface_added()).
|
||||||
|
*
|
||||||
|
* This is particularly important because libweston-desktop
|
||||||
|
* could create additional views, which are managed implicitly,
|
||||||
|
* but which are still being added to the layer list.
|
||||||
|
*
|
||||||
|
*/
|
||||||
if (shsurf)
|
if (shsurf)
|
||||||
desktop_shell_destroy_surface(shsurf);
|
desktop_shell_destroy_surface(shsurf);
|
||||||
else if (is_black_surface_view(view, NULL))
|
else if (is_black_surface_view(view, NULL))
|
||||||
|
|||||||
Reference in New Issue
Block a user