Hi Marc-André, On Fri, 2016-05-20 at 17:16 +0200, Marc-André Lureau wrote: > The egl context is from Gtk on Wayland. Destroy it only on X11. > It deserves a comment in the code (like reference to spice_egl_init where the context is initialized). Pavel > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> > --- > src/spice-widget-egl.c | 25 ++++++++++++++----------- > 1 file changed, 14 insertions(+), 11 deletions(-) > > diff --git a/src/spice-widget-egl.c b/src/spice-widget-egl.c > index 7611b0b..fff2831 100644 > --- a/src/spice-widget-egl.c > +++ b/src/spice-widget-egl.c > @@ -364,10 +364,6 @@ void spice_egl_unrealize_display(SpiceDisplay *display) > d->egl.tex_pointer_id = 0; > } > > - if (d->egl.surface != EGL_NO_SURFACE) { > - eglDestroySurface(d->egl.display, d->egl.surface); > - d->egl.surface = EGL_NO_SURFACE; > - } > if (d->egl.vbuf_id) { > glDeleteBuffers(1, &d->egl.vbuf_id); > d->egl.vbuf_id = 0; > @@ -378,14 +374,21 @@ void spice_egl_unrealize_display(SpiceDisplay *display) > d->egl.prog = 0; > } > > - if (d->egl.ctx) { > - eglDestroyContext(d->egl.display, d->egl.ctx); > - d->egl.ctx = 0; > - } > + if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { > + if (d->egl.surface != EGL_NO_SURFACE) { > + eglDestroySurface(d->egl.display, d->egl.surface); > + d->egl.surface = EGL_NO_SURFACE; > + } > > - eglMakeCurrent(d->egl.display, EGL_NO_SURFACE, EGL_NO_SURFACE, > - EGL_NO_CONTEXT); > - eglTerminate(d->egl.display); > + if (d->egl.ctx) { > + eglDestroyContext(d->egl.display, d->egl.ctx); > + d->egl.ctx = 0; > + } > + > + eglMakeCurrent(d->egl.display, EGL_NO_SURFACE, EGL_NO_SURFACE, > + EGL_NO_CONTEXT); > + eglTerminate(d->egl.display); > + } > } > > G_GNUC_INTERNAL _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel