diff options
| author | Markus Armbruster <armbru@redhat.com> | 2025-09-23 11:09:57 +0200 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2025-09-30 14:43:54 +0200 |
| commit | 96ae3f67a222197ae633225ba4543551126dbd95 (patch) | |
| tree | 5b6d59b15a1c4c102fb26f849c44d3e872fb1773 /ui/dbus-listener.c | |
| parent | b296b29d341429b82d9a76885f8e7fc3abd85ce2 (diff) | |
| download | focaccia-qemu-96ae3f67a222197ae633225ba4543551126dbd95.tar.gz focaccia-qemu-96ae3f67a222197ae633225ba4543551126dbd95.zip | |
ui/dbus: Clean up dbus_update_gl_cb() error checking
From GLib "Rules for use of GError":
A GError* must be initialized to NULL before passing its address
to a function that can report errors.
dbus_update_gl_cb() seemingly violates this rule: it passes &err to
qemu_dbus_display1_listener_call_update_dmabuf_finish() and to
qemu_dbus_display1_listener_win32_d3d11_call_update_texture2d_finish()
without clearing it in between. Harmless, because the first call is
guarded by #ifdef CONFIG_GBM, the second by #ifdef WIN32, and the two
are mutually exclusive. I think.
Clean this up to be obviously correct.
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20250923091000.3180122-11-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Diffstat (limited to 'ui/dbus-listener.c')
| -rw-r--r-- | ui/dbus-listener.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ui/dbus-listener.c b/ui/dbus-listener.c index 42875b8eed..09d7a319b1 100644 --- a/ui/dbus-listener.c +++ b/ui/dbus-listener.c @@ -221,18 +221,21 @@ static void dbus_update_gl_cb(GObject *source_object, #ifdef CONFIG_GBM success = qemu_dbus_display1_listener_call_update_dmabuf_finish( ddl->proxy, res, &err); + if (!success) { + error_report("Failed to call update: %s", err->message); + } #endif #ifdef WIN32 success = qemu_dbus_display1_listener_win32_d3d11_call_update_texture2d_finish( ddl->d3d11_proxy, res, &err); - d3d_texture2d_acquire0(ddl->d3d_texture, &error_warn); -#endif - if (!success) { error_report("Failed to call update: %s", err->message); } + d3d_texture2d_acquire0(ddl->d3d_texture, &error_warn); +#endif + graphic_hw_gl_block(ddl->dcl.con, false); g_object_unref(ddl); } |