On 30/08/2016 02:26, Bryce Harrington wrote:
On Thu, Aug 18, 2016 at 04:45:30PM +0200, Quentin Glidic wrote:
From: Quentin Glidic <sardemff7+...@sardemff7.net>

With this weston_view_destroy() call, Xwayland popups make Weston freeze
in a busy-loop (probably corrupted wl_list).

Looks like weston_desktop_surface_unlink_view() calls
weston_desktop_view_destroy() for the specified surface->view, and that
in turn will call weston_view_destroy() on the view (if it is
parentless), and then frees it.

So, you're right, the view is definitely going gone once
weston_desktop_surface_unlink_view() is done, and can't be used by any
subsequent calls.

Reviewed-by: Bryce Harrington <br...@osg.samsung.com>

This fix is okayed to land for the release, and can be landed either
pre- or post- beta.

Still not sure this fix is not pure magic, but anyway.
Thanks, pushed:
5c611d9..1714f01  master -> master

Cheers,


Signed-off-by: Quentin Glidic <sardemff7+...@sardemff7.net>
---
 libweston-desktop/xwayland.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/libweston-desktop/xwayland.c b/libweston-desktop/xwayland.c
index cb08323..bd68bc6 100644
--- a/libweston-desktop/xwayland.c
+++ b/libweston-desktop/xwayland.c
@@ -152,13 +152,11 @@ weston_desktop_xwayland_surface_destroy(struct 
weston_desktop_surface *dsurface,
        wl_list_remove(&surface->resource_destroy_listener.link);

        weston_desktop_surface_unset_relative_to(surface->surface);
-       if (surface->added) {
+       if (surface->added)
                weston_desktop_api_surface_removed(surface->desktop,
                                                   surface->surface);
-       } else if (surface->state == XWAYLAND) {
+       else if (surface->state == XWAYLAND)
                weston_desktop_surface_unlink_view(surface->view);
-               weston_view_destroy(surface->view);
-       }

        free(surface);
 }
--
2.9.2

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


--

Quentin “Sardem FF7” Glidic
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to