From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
Date: Tue, 17 Jun 2025 11:39:29 +0200
Subject: rdp/renderer: Clear VkDevice when vaapi initialization fails

We're not going to use the VkDevice in this case, and it may cause
issues if it exposes a different set of format modifiers, as we'd check
format modifier support on the VkDevice, even if we won't be using
it.

https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/merge_requests/323

(cherry picked from commit cd5c0d008329565838e047130385b52b8a261fa6)

Origin: upstream gnome-48 branch after 48.1
---
 src/grd-rdp-renderer.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/grd-rdp-renderer.c b/src/grd-rdp-renderer.c
index 0efffa1..c9ffa95 100644
--- a/src/grd-rdp-renderer.c
+++ b/src/grd-rdp-renderer.c
@@ -187,7 +187,10 @@ maybe_initialize_hardware_acceleration (GrdRdpRenderer   *renderer,
   renderer->hwaccel_vaapi = grd_hwaccel_vaapi_new (renderer->vk_device,
                                                    &error);
   if (!renderer->hwaccel_vaapi)
-    g_message ("[RDP] Did not initialize VAAPI: %s", error->message);
+    {
+      g_message ("[RDP] Did not initialize VAAPI: %s", error->message);
+      g_clear_object (&renderer->vk_device);
+    }
 
   return TRUE;
 }
