summaryrefslogtreecommitdiff
path: root/gtk/spice-widget-cairo.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2012-03-19 19:50:45 +0100
committerMarc-André Lureau <marcandre.lureau@redhat.com>2012-03-19 20:04:01 +0100
commit13f5ebbf07a369c7460a2539b87be9a55375d0c6 (patch)
treef5a5456c4dd9dc667662a00f6758846014243857 /gtk/spice-widget-cairo.c
parent82a4703fea93ca792542a8d45d72bd1db49bb6e4 (diff)
Hide cursor when it is on a different screen in server mode
When the cursor shape is changed, all the cursor channels are updated. The current code assumed that the "set" of the shape should show the cursor, but it should stay hidden instead. Also, when the cursor is hidden, we must invalidate its current region to redraw display. Fix: https://bugzilla.redhat.com/show_bug.cgi?id=804308
Diffstat (limited to 'gtk/spice-widget-cairo.c')
-rw-r--r--gtk/spice-widget-cairo.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gtk/spice-widget-cairo.c b/gtk/spice-widget-cairo.c
index 3fc2a22..2f1ef75 100644
--- a/gtk/spice-widget-cairo.c
+++ b/gtk/spice-widget-cairo.c
@@ -103,7 +103,8 @@ void spicex_draw_event(SpiceDisplay *display, cairo_t *cr)
}
cairo_paint(cr);
- if (d->mouse_mode == SPICE_MOUSE_MODE_SERVER) {
+ if (d->mouse_mode == SPICE_MOUSE_MODE_SERVER &&
+ !d->show_cursor) {
GdkPixbuf *image = d->mouse_pixbuf;
if (image != NULL) {
gdk_cairo_set_source_pixbuf(cr, image,