]> git.proxmox.com Git - pve-libspice-server.git/commitdiff
backport: red-qxl: Make sure we have at least one monitor
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 25 Oct 2019 12:11:20 +0000 (14:11 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 25 Oct 2019 12:11:31 +0000 (14:11 +0200)
Bisect, found by Dominik C., so all credit to him!

Originally-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Makefile
patches/red-qxl-make-sure-we-have-at-least-one-monitor.patch [new file with mode: 0644]

index 082cfc3568968fc5a0ac9464a35299611acb5407..a1bef4eca50dd04078b9fa98d580e5297ddfff03 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -29,6 +29,7 @@ $(DEB): $(SOURCE)_$(PKGVERSION).orig.tar.bz2 $(SOURCE)_$(DEBVERSION).debian.tar.
        tar xf $(SOURCE)_$(DEBVERSION).debian.tar.xz -C $(SOURCE)-$(PKGVERSION)
        cat changelog.Debian $(PKGDIR)/debian/changelog > $(PKGDIR)/debian/changelog.tmp
        mv $(PKGDIR)/debian/changelog.tmp $(PKGDIR)/debian/changelog
+       cd $(PKGDIR); for patch in ../patches/*.patch; do echo "applying patch '$$patch'" && patch -p1 < "$${patch}"; done
        cd ${PKGDIR}; dpkg-buildpackage -b -us -uc
        lintian ${DEBS}
 
diff --git a/patches/red-qxl-make-sure-we-have-at-least-one-monitor.patch b/patches/red-qxl-make-sure-we-have-at-least-one-monitor.patch
new file mode 100644 (file)
index 0000000..407e986
--- /dev/null
@@ -0,0 +1,33 @@
+From 4f2d90a7849fafebc74dec608f9b4ffa9400d1a6 Mon Sep 17 00:00:00 2001
+From: Frediano Ziglio <fziglio@redhat.com>
+Date: Thu, 19 Sep 2019 11:17:08 +0100
+Subject: red-qxl: Make sure we have at least one monitor
+
+It does not make sense to have a graphic card without a monitor.
+In spice_qxl_set_max_monitors we prevent to set 0 monitors, do
+the same in spice_qxl_set_device_info.
+
+This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1691721.
+
+Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
+Tested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
+Acked-by: Victor Toso <victortoso@redhat.com>
+---
+ server/red-qxl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/server/red-qxl.c b/server/red-qxl.c
+index 0334827..dbfcd44 100644
+--- a/server/red-qxl.c
++++ b/server/red-qxl.c
+@@ -804,7 +804,7 @@ void spice_qxl_set_device_info(QXLInstance *instance,
+     }
+     instance->st->monitors_count = device_display_id_count;
+-    instance->st->max_monitors = device_display_id_count;
++    instance->st->max_monitors = MAX(1u, device_display_id_count);
+     reds_send_device_display_info(red_qxl_get_server(instance->st));
+ }
+-- 
+cgit v1.1