Commit 9dfed9f6 for guacamole.apache.org
commit 9dfed9f6785f39fbf7e225ff4daf340920673fa1
Author: Stephen Schiffli <sschiffli@keepersecurity.com>
Date: Tue Apr 21 19:25:28 2026 -0700
GUACAMOLE-2259: Skip cursor sync in guac_display_dup when no cursor has been set.
diff --git a/src/libguac/display.c b/src/libguac/display.c
index 957029b5..5c0c1cef 100644
--- a/src/libguac/display.c
+++ b/src/libguac/display.c
@@ -310,14 +310,15 @@ void guac_display_dup(guac_display* display, guac_socket* socket) {
}
- /* Synchronize mouse cursor */
+ /* Avoid sending a zero-size cursor instruction if no cursor has been set */
guac_display_layer* cursor = display->cursor_buffer;
- guac_protocol_send_cursor(socket,
- display->last_frame.cursor_hotspot_x,
- display->last_frame.cursor_hotspot_y,
- cursor->layer, 0, 0,
- cursor->last_frame.width,
- cursor->last_frame.height);
+ if (cursor->last_frame.width > 0 && cursor->last_frame.height > 0)
+ guac_protocol_send_cursor(socket,
+ display->last_frame.cursor_hotspot_x,
+ display->last_frame.cursor_hotspot_y,
+ cursor->layer, 0, 0,
+ cursor->last_frame.width,
+ cursor->last_frame.height);
/* Synchronize mouse location */
guac_protocol_send_mouse(socket, display->last_frame.cursor_x, display->last_frame.cursor_y,