How to release the weston_buffer after weston_view is destroyed.

Sichem Zhou sichem.zh at gmail.com
Sun Jul 29 00:15:18 UTC 2018


Dear Weston devs:

Sorry for the bothering in when weston-5.0 is approaching, but I am stuck
in the project for three days I need some one's help very much.

I have a widget implementation of shell widgets that destroys the
weston_view
when pressed Esc. The widget is implemented in wayland EGL. Here is the
view_destroy code.

void
twshell_close_ui_surface(struct weston_surface *wd_surface)
{
        struct weston_view *view, *next;
        wd_surface->committed = NULL;
        wd_surface->committed_private = NULL;
        wl_list_for_each_safe(view, next, &wd_surface->views, surface_link)
{
                weston_view_destroy(view);
        }
}

The weston_view is destroyed but the the buffer in the last commit was not
released and the done event was not sent to the widget. When I triggered
the event to show widget again, the client was stuck in EGLSwapbuffer. I
found out about this by using WAYLAND_DEBUG env variable, I hope to the
way to release the buffer after umapping the weston view. Thanks very much.

Regards,
Sichem
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20180728/bc44ada6/attachment-0001.html>


More information about the wayland-devel mailing list