virtio-gpu/win32: set the destroy function on load
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Wed, 6 Sep 2023 12:37:43 +0000 (16:37 +0400)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 12 Sep 2023 06:37:02 +0000 (10:37 +0400)
Don't forget to unmap the resource memory.

Fixes: commit 9462ff469 ("virtio-gpu/win32: allocate shareable 2d resources/images")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
hw/display/virtio-gpu.c

index bbd5c6561a0f34f356552c6d4876abf61ba1b627..93857ad523f736a17c9288463368023318ce6cca 100644 (file)
@@ -1283,7 +1283,9 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size,
             g_free(res);
             return -EINVAL;
         }
-
+#ifdef WIN32
+        pixman_image_set_destroy_function(res->image, win32_pixman_image_destroy, res->handle);
+#endif
 
         res->addrs = g_new(uint64_t, res->iov_cnt);
         res->iov = g_new(struct iovec, res->iov_cnt);