[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp matc
From: |
Leo Grange |
Subject: |
[Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match |
Date: |
Thu, 6 Aug 2015 17:36:32 +0200 |
Spice surface_switch fast-path was checking only width/height matching,
which leads to a crash when surface bpp has been increased but size
didn't change (and probably other issues if bpp has been decreased).
Signed-off-by: Leo Grange <address@hidden>
---
ui/spice-display.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 0360abf..d1e0972 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd,
SimpleSpiceUpdate *update;
bool need_destroy;
- if (surface && ssd->surface &&
+ if (surface && ssd->surface && ssd->ds &&
surface_width(surface) == pixman_image_get_width(ssd->surface) &&
- surface_height(surface) == pixman_image_get_height(ssd->surface)) {
- /* no-resize fast path: just swap backing store */
+ surface_height(surface) == pixman_image_get_height(ssd->surface) &&
+ surface_bits_per_pixel(surface) ==
surface_bits_per_pixel(ssd->ds)) {
+ /* no-resize and no bpp change fast path: just swap backing store */
dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id,
surface_width(surface), surface_height(surface));
qemu_mutex_lock(&ssd->lock);
--
2.5.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match,
Leo Grange <=