summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Bacci <luca.bacci982@gmail.com>2022-08-27 10:37:14 +0200
committerLuca Bacci <luca.bacci982@gmail.com>2022-08-27 13:58:17 +0200
commitbcccb46b7cdfe104ae3827c863c1976f9a42df56 (patch)
treef79d9cbfaedf13c88030f0bef8844eca5bb97246
parentfb7257a1f53bc581a77cddffac59e8145b07a980 (diff)
downloadgtk+-bcccb46b7cdfe104ae3827c863c1976f9a42df56.tar.gz
GL Renderer: Ensure that GdkGLContext is current in gsk_gl_driver_shader_weak_cb
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5140
-rw-r--r--gsk/gl/gskgldriver.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gsk/gl/gskgldriver.c b/gsk/gl/gskgldriver.c
index 179e870d80..e6674fb02f 100644
--- a/gsk/gl/gskgldriver.c
+++ b/gsk/gl/gskgldriver.c
@@ -176,7 +176,12 @@ gsk_gl_driver_shader_weak_cb (gpointer data,
g_assert (GSK_IS_GL_DRIVER (self));
if (self->shader_cache != NULL)
- g_hash_table_remove (self->shader_cache, where_object_was);
+ {
+ if (self->command_queue != NULL)
+ gsk_gl_command_queue_make_current (self->command_queue);
+
+ g_hash_table_remove (self->shader_cache, where_object_was);
+ }
}
G_GNUC_NULL_TERMINATED static inline GBytes *