Hi, On Fri, 2016-05-20 at 17:16 +0200, Marc-André Lureau wrote: > On X11, each widget has its own context. Make sure we are using the > widget associated context when using gl. > > Fixes: > https://bugzilla.redhat.com/show_bug.cgi?id=1337721 > > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> > --- > src/spice-widget-egl.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/src/spice-widget-egl.c b/src/spice-widget-egl.c > index 754fc20..5612959 100644 > --- a/src/spice-widget-egl.c > +++ b/src/spice-widget-egl.c > @@ -349,6 +349,14 @@ void spice_egl_unrealize_display(SpiceDisplay *display) > > SPICE_DEBUG("egl unrealize %p", d->egl.surface); > > + if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { > + EGLBoolean b = eglMakeCurrent(d->egl.display, > + d->egl.surface, > + d->egl.surface, > + d->egl.ctx); > + g_return_if_fail(b == EGL_TRUE); Can we come up with a better name ? A critical message saying 'b == EGL_TRUE' is not very helpful... Pavel > + } > + > if (d->egl.image != NULL) { > eglDestroyImageKHR(d->egl.display, d->egl.image); > d->egl.image = NULL; > @@ -516,6 +524,13 @@ void spice_egl_update_display(SpiceDisplay *display) > > g_return_if_fail(d->ready); > > + if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { > + EGLBoolean b = eglMakeCurrent(d->egl.display, > + d->egl.surface, > + d->egl.surface, > + d->egl.ctx); > + g_return_if_fail(b == EGL_TRUE); > + } > spice_display_get_scaling(display, &s, &x, &y, &w, &h); > > glClearColor(0.0f, 0.0f, 0.0f, 0.0f); _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel