]> git.proxmox.com Git - spiceterm.git/blobdiff - screen.c
reset cursor after resize
[spiceterm.git] / screen.c
index 5c908c9bb16235c094f0708414821c0bda0cb89a..451d119075c627b0ea96aad33afcb9e22656876b 100644 (file)
--- a/screen.c
+++ b/screen.c
@@ -370,6 +370,8 @@ create_primary_surface(SpiceScreen *spice_screen, uint32_t width,
     spice_screen->width = width;
     spice_screen->height = height;
 
+    spice_screen->cursor_set = 0;
+
     qxl_worker->create_primary_surface(qxl_worker, 0, &surface);
 }
 
@@ -532,15 +534,15 @@ cursor_init()
 static int 
 get_cursor_command(QXLInstance *qin, struct QXLCommandExt *ext)
 {
-    //SpiceScreen *spice_screen = SPICE_CONTAINEROF(qin, SpiceScreen, qxl_instance);
-    static int set = 1;
+    SpiceScreen *spice_screen = SPICE_CONTAINEROF(qin, SpiceScreen, qxl_instance);
  
     QXLCursorCmd *cursor_cmd;
     QXLCommandExt *cmd;
 
-    if (!set) return FALSE;
-    set = 0;
-  
+    if (spice_screen->cursor_set) 
+        return FALSE;
+        
+    spice_screen->cursor_set = 1;
     
     cmd = calloc(sizeof(QXLCommandExt), 1);
     cursor_cmd = calloc(sizeof(QXLCursorCmd), 1);