summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordscho <dscho>2005-01-19 18:32:49 +0000
committerdscho <dscho>2005-01-19 18:32:49 +0000
commit47646a200feefc37754c385389f7d7b6119c7f07 (patch)
tree8ab19efefafbf5e10c78ca026db8bb55e852c0b7
parentff87112b5038941bb82f63e034ee53c1bbd570c5 (diff)
downloadlibtdevnc-47646a20.tar.gz
libtdevnc-47646a20.zip
redraw region under old cursor even if the old cursor doesn't have to be freed.
-rw-r--r--libvncserver/cursor.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libvncserver/cursor.c b/libvncserver/cursor.c
index 8e2789b..3a01e64 100644
--- a/libvncserver/cursor.c
+++ b/libvncserver/cursor.c
@@ -616,14 +616,15 @@ void rfbSetCursor(rfbScreenInfoPtr rfbScreen,rfbCursorPtr c)
LOCK(rfbScreen->cursorMutex);
- if(rfbScreen->cursor && rfbScreen->cursor->cleanup) {
+ if(rfbScreen->cursor) {
iterator=rfbGetClientIterator(rfbScreen);
while((cl=rfbClientIteratorNext(iterator)))
if(!cl->enableCursorShapeUpdates)
rfbRedrawAfterHideCursor(cl);
rfbReleaseClientIterator(iterator);
- rfbFreeCursor(rfbScreen->cursor);
+ if(rfbScreen->cursor->cleanup)
+ rfbFreeCursor(rfbScreen->cursor);
}
rfbScreen->cursor = c;