[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 01/11] qxl: fix spice+sdl no cursor regression
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 01/11] qxl: fix spice+sdl no cursor regression |
Date: |
Tue, 28 Feb 2012 17:29:52 +0100 |
From: Alon Levy <address@hidden>
regression introduced by 075360945860ad9bdd491921954b383bf762b0e5,
v2: lock around qemu_spice_cursor_refresh_unlocked
Reported-by: Fabiano FidĂȘncio <address@hidden>
Signed-off-by: Alon Levy <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/qxl.c | 4 ++++
ui/spice-display.c | 23 ++++++++++++++---------
ui/spice-display.h | 1 +
3 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/hw/qxl.c b/hw/qxl.c
index f643667..0bbf0e8 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1545,6 +1545,10 @@ static void display_refresh(struct DisplayState *ds)
{
if (qxl0->mode == QXL_MODE_VGA) {
qemu_spice_display_refresh(&qxl0->ssd);
+ } else {
+ qemu_mutex_lock(&qxl0->ssd.lock);
+ qemu_spice_cursor_refresh_unlocked(&qxl0->ssd);
+ qemu_mutex_unlock(&qxl0->ssd.lock);
}
}
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 6c302a3..c6e61d8 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -317,16 +317,8 @@ void qemu_spice_display_resize(SimpleSpiceDisplay *ssd)
ssd->notify++;
}
-void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd)
+void qemu_spice_cursor_refresh_unlocked(SimpleSpiceDisplay *ssd)
{
- dprint(3, "%s:\n", __FUNCTION__);
- vga_hw_update();
-
- qemu_mutex_lock(&ssd->lock);
- if (ssd->update == NULL) {
- ssd->update = qemu_spice_create_update(ssd);
- ssd->notify++;
- }
if (ssd->cursor) {
ssd->ds->cursor_define(ssd->cursor);
cursor_put(ssd->cursor);
@@ -337,6 +329,19 @@ void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd)
ssd->mouse_x = -1;
ssd->mouse_y = -1;
}
+}
+
+void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd)
+{
+ dprint(3, "%s:\n", __func__);
+ vga_hw_update();
+
+ qemu_mutex_lock(&ssd->lock);
+ if (ssd->update == NULL) {
+ ssd->update = qemu_spice_create_update(ssd);
+ ssd->notify++;
+ }
+ qemu_spice_cursor_refresh_unlocked(ssd);
qemu_mutex_unlock(&ssd->lock);
if (ssd->notify) {
diff --git a/ui/spice-display.h b/ui/spice-display.h
index 5e52df9..a23bfc8 100644
--- a/ui/spice-display.h
+++ b/ui/spice-display.h
@@ -97,6 +97,7 @@ void qemu_spice_display_update(SimpleSpiceDisplay *ssd,
int x, int y, int w, int h);
void qemu_spice_display_resize(SimpleSpiceDisplay *ssd);
void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd);
+void qemu_spice_cursor_refresh_unlocked(SimpleSpiceDisplay *ssd);
void qemu_spice_add_memslot(SimpleSpiceDisplay *ssd, QXLDevMemSlot *memslot,
qxl_async_io async);
--
1.7.1
- [Qemu-devel] [PATCH 7/9] qxl: drop vram bar minimum size, (continued)
- [Qemu-devel] [PATCH 7/9] qxl: drop vram bar minimum size, Gerd Hoffmann, 2012/02/21
- [Qemu-devel] [PATCH 8/9] qxl: move ram size init to new function, Gerd Hoffmann, 2012/02/21
- [Qemu-devel] [PATCH 9/9] qxl: add user-friendly bar size properties, Gerd Hoffmann, 2012/02/21
- Re: [Qemu-devel] [PULL] spice patch queue, Anthony Liguori, 2012/02/22
- [Qemu-devel] [PULL] spice patch queue, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 02/11] sdl: remove NULL check, g_malloc0 can't fail, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 04/11] qxl: require spice >= 0.8.2, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 07/11] qxl: make qxl_render_update async, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 10/11] Error out when tls-channel option is used without TLS, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 08/11] qxl: add optinal 64bit vram bar, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 01/11] qxl: fix spice+sdl no cursor regression,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 03/11] qxl: drop qxl_spice_update_area_async definition, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 05/11] qxl: remove flipped, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 06/11] qxl: introduce QXLCookie, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 11/11] qxl: properly handle upright and non-shared surfaces, Gerd Hoffmann, 2012/02/28
- [Qemu-devel] [PATCH 09/11] spice: use error_report to report errors, Gerd Hoffmann, 2012/02/28
- Re: [Qemu-devel] [PULL] spice patch queue, Anthony Liguori, 2012/02/29