[PATCH weston] libweston-desktop/xwayland: Do not over-destroy the view
Quentin Glidic
sardemff7+wayland at sardemff7.net
Wed Aug 31 23:27:50 UTC 2016
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+git at 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 <bryce at 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+git at 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 at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
--
Quentin “Sardem FF7” Glidic
More information about the wayland-devel
mailing list