aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Cursor.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Cursor.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Cursor.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Cursor.c b/nx-X11/programs/Xserver/hw/nxagent/Cursor.c
index e27415b91..9d48aa134 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Cursor.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Cursor.c
@@ -290,10 +290,25 @@ void nxagentRecolorCursor(ScreenPtr pScreen, CursorPtr pCursor,
&fg_color, &bg_color);
}
+Bool (*nxagentSetCursorPositionW)(ScreenPtr pScreen, int x, int y,
+ Bool generateEvent);
+
Bool nxagentSetCursorPosition(ScreenPtr pScreen, int x, int y,
Bool generateEvent)
{
- return 1;
+ if (generateEvent != 0)
+ {
+ return (*nxagentSetCursorPositionW)(pScreen, x, y, generateEvent);
+ }
+ else
+ {
+ /*
+ * Calling miSetCursorPosition with generateEvent == 0
+ * causes a crash in miPoiterUpdate().
+ */
+
+ return 1;
+ }
}
void nxagentReconnectCursor(pointer p0, XID x1, pointer p2)