aboutsummaryrefslogtreecommitdiffstats
path: root/unix/xserver/hw/vnc/XserverDesktop.cc
diff options
context:
space:
mode:
Diffstat (limited to 'unix/xserver/hw/vnc/XserverDesktop.cc')
-rw-r--r--unix/xserver/hw/vnc/XserverDesktop.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/unix/xserver/hw/vnc/XserverDesktop.cc b/unix/xserver/hw/vnc/XserverDesktop.cc
index 6f707299..7ebad353 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.cc
+++ b/unix/xserver/hw/vnc/XserverDesktop.cc
@@ -261,6 +261,15 @@ void XserverDesktop::setCursor(int width, int height, int hotX, int hotY,
delete [] cursorData;
}
+void XserverDesktop::setCursorPos(int x, int y, bool warped)
+{
+ try {
+ server->setCursorPos(Point(x, y), warped);
+ } catch (rdr::Exception& e) {
+ vlog.error("XserverDesktop::setCursorPos: %s",e.str());
+ }
+}
+
void XserverDesktop::add_changed(const rfb::Region &region)
{
try {
@@ -377,7 +386,7 @@ void XserverDesktop::blockHandler(int* timeout)
if (oldCursorPos.x != cursorX || oldCursorPos.y != cursorY) {
oldCursorPos.x = cursorX;
oldCursorPos.y = cursorY;
- server->setCursorPos(oldCursorPos);
+ server->setCursorPos(oldCursorPos, false);
}
// Trigger timers and check when the next will expire