All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Akihiko Odaki" <akihiko.odaki@gmail.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	xen-devel@lists.xenproject.org, "Paul Durrant" <paul@xen.org>,
	"Anthony Perard" <anthony.perard@citrix.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Hongren (Zenithal) Zheng" <i@zenithal.me>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Canokeys.org" <contact@canokeys.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Volker Rümelin" <vr_qemu@t-online.de>
Subject: [PULL 01/15] ui/gtk-gl-area: implement GL context destruction
Date: Tue, 14 Jun 2022 14:15:56 +0200	[thread overview]
Message-ID: <20220614121610.508356-2-kraxel@redhat.com> (raw)
In-Reply-To: <20220614121610.508356-1-kraxel@redhat.com>

From: Volker Rümelin <vr_qemu@t-online.de>

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>
---
 ui/gtk-gl-area.c | 8 +++++++-
 ui/trace-events  | 1 +
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/ui/gtk-gl-area.c b/ui/gtk-gl-area.c
index fc5a082eb846..0e20ea031d34 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,
diff --git a/ui/trace-events b/ui/trace-events
index f78b5e66061f..1040ba0f88c7 100644
--- a/ui/trace-events
+++ b/ui/trace-events
@@ -26,6 +26,7 @@ gd_key_event(const char *tab, int gdk_keycode, int qkeycode, const char *action)
 gd_grab(const char *tab, const char *device, const char *reason) "tab=%s, dev=%s, reason=%s"
 gd_ungrab(const char *tab, const char *device) "tab=%s, dev=%s"
 gd_keymap_windowing(const char *name) "backend=%s"
+gd_gl_area_destroy_context(void *ctx, void *current_ctx) "ctx=%p, current_ctx=%p"
 
 # vnc-auth-sasl.c
 # vnc-auth-vencrypt.c
-- 
2.36.1



  reply	other threads:[~2022-06-14 12:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-14 12:15 [PULL 00/15] Kraxel 20220614 patches Gerd Hoffmann
2022-06-14 12:15 ` Gerd Hoffmann [this message]
2022-06-14 12:15 ` [PULL 02/15] ui/gtk-gl-area: create the requested GL context version Gerd Hoffmann
2022-06-14 12:15 ` [PULL 03/15] ui/cocoa: Fix poweroff request code Gerd Hoffmann
2022-06-14 12:15 ` [PULL 04/15] hw/usb: Add CanoKey Implementation Gerd Hoffmann
2023-04-27 10:11   ` Apache license usage (was Re: [PULL 04/15] hw/usb: Add CanoKey Implementation) Daniel P. Berrangé
2023-04-30 13:26     ` Hongren (Zenithal) Zheng
2023-05-01 12:39       ` MkfsSion
2023-05-02  8:25         ` Daniel P. Berrangé
2022-06-14 12:16 ` [PULL 05/15] hw/usb/canokey: Add trace events Gerd Hoffmann
2022-06-14 12:16 ` [PULL 06/15] meson: Add CanoKey Gerd Hoffmann
2022-06-14 12:16 ` [PULL 07/15] docs: Add CanoKey documentation Gerd Hoffmann
2022-06-14 12:16 ` [PULL 08/15] docs/system/devices/usb: Add CanoKey to USB devices examples Gerd Hoffmann
2022-06-14 12:16 ` [PULL 09/15] MAINTAINERS: add myself as CanoKey maintainer Gerd Hoffmann
2022-06-14 12:16 ` [PULL 10/15] hw/usb/hcd-ehci: fix writeback order Gerd Hoffmann
2022-06-14 12:16 ` [PULL 11/15] usbredir: avoid queuing hello packet on snapshot restore Gerd Hoffmann
2022-06-14 12:16 ` [PULL 12/15] virtio-gpu: update done only on the scanout associated with rect Gerd Hoffmann
2022-06-14 12:16 ` [PULL 13/15] ui/console: Do not return a value with ui_info Gerd Hoffmann
2022-06-14 12:16 ` [PULL 14/15] ui: Deliver refresh rate via QemuUIInfo Gerd Hoffmann
2022-06-14 12:16 ` [PULL 15/15] virtio-gpu: Respect UI refresh rate for EDID Gerd Hoffmann
2022-06-14 15:11 ` [PULL 00/15] Kraxel 20220614 patches Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220614121610.508356-2-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=akihiko.odaki@gmail.com \
    --cc=alex.williamson@redhat.com \
    --cc=anthony.perard@citrix.com \
    --cc=contact@canokeys.org \
    --cc=f4bug@amsat.org \
    --cc=i@zenithal.me \
    --cc=mst@redhat.com \
    --cc=paul@xen.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sstabellini@kernel.org \
    --cc=vr_qemu@t-online.de \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.