diff options
author | Volker RĂ¼melin <vr_qemu@t-online.de> | 2022-06-05 10:51:30 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2022-06-14 10:34:36 +0200 |
commit | e561b3b7df11875d7bd3b8670598cae5601a7f70 (patch) | |
tree | a465b94adc4395a40fb40efd5bace9e2cbda2605 /ui/gtk-gl-area.c | |
parent | debd0753663bc89c86f5462a53268f2e3f680f60 (diff) | |
download | qemu-e561b3b7df11875d7bd3b8670598cae5601a7f70.zip qemu-e561b3b7df11875d7bd3b8670598cae5601a7f70.tar.gz qemu-e561b3b7df11875d7bd3b8670598cae5601a7f70.tar.bz2 |
ui/gtk-gl-area: implement GL context destruction
The counterpart function for gd_gl_area_create_context() is
currently empty. Implement the gd_gl_area_destroy_context()
function to avoid GL context leaks.
Signed-off-by: Volker RĂ¼melin <vr_qemu@t-online.de>
Message-Id: <20220605085131.7711-1-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/gtk-gl-area.c')
-rw-r--r-- | ui/gtk-gl-area.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ui/gtk-gl-area.c b/ui/gtk-gl-area.c index fc5a082..0e20ea0 100644 --- a/ui/gtk-gl-area.c +++ b/ui/gtk-gl-area.c @@ -201,7 +201,13 @@ QEMUGLContext gd_gl_area_create_context(DisplayGLCtx *dgc, void gd_gl_area_destroy_context(DisplayGLCtx *dgc, QEMUGLContext ctx) { - /* FIXME */ + GdkGLContext *current_ctx = gdk_gl_context_get_current(); + + trace_gd_gl_area_destroy_context(ctx, current_ctx); + if (ctx == current_ctx) { + gdk_gl_context_clear_current(); + } + g_clear_object(&ctx); } void gd_gl_area_scanout_texture(DisplayChangeListener *dcl, |