surface: Use correct display when destroying a surface for depth switch
When surface depth switches from non-high-depth to high-depth (or vice versa) the current surface has to be destroyed before a new one can be created for this window. eglDestroySurface however was getting passed a GdkDisplay, rather than the EGLDisplay it expects. As a result the old surface did not get destroyed and the new surface could not be created causing rendering to freeze. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4773
This commit is contained in:
committed by
Matthias Clasen
parent
e50e2136d2
commit
018bbd6774
@@ -1125,7 +1125,7 @@ gdk_surface_ensure_egl_surface (GdkSurface *self,
|
||||
gdk_display_get_egl_config_high_depth (display) != gdk_display_get_egl_config (display))
|
||||
{
|
||||
gdk_gl_context_clear_current_if_surface (self);
|
||||
eglDestroySurface (gdk_surface_get_display (self), priv->egl_surface);
|
||||
eglDestroySurface (gdk_display_get_egl_display (display), priv->egl_surface);
|
||||
priv->egl_surface = NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user