summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-06-22 13:43:13 +0200
committerAlon Levy <alevy@redhat.com>2011-08-23 18:06:03 +0300
commitd0e740eeaa2ff293edad2bf7df959540208f5572 (patch)
tree2baec84865865b4c5c2e9a29033993611acc586e /server
parentc820b252c1a7a9ac6574ed5c461c90a7bc569ba9 (diff)
downloadspice-d0e740eeaa2ff293edad2bf7df959540208f5572.tar.gz
spice-d0e740eeaa2ff293edad2bf7df959540208f5572.tar.xz
spice-d0e740eeaa2ff293edad2bf7df959540208f5572.zip
server/red_worker: no panic on double destroy primary
Diffstat (limited to 'server')
-rw-r--r--server/red_worker.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/server/red_worker.c b/server/red_worker.c
index ddd34c65..30b96583 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -10304,7 +10304,11 @@ static inline void handle_dev_destroy_primary_surface(RedWorker *worker)
receive_data(worker->channel, &surface_id, sizeof(uint32_t));
PANIC_ON(surface_id != 0);
- PANIC_ON(!worker->surfaces[surface_id].context.canvas);
+
+ if (!worker->surfaces[surface_id].context.canvas) {
+ red_printf("double destroy of primary surface\n");
+ return;
+ }
flush_all_qxl_commands(worker);
destroy_surface_wait(worker, 0);