Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

Cursor trajectory broken after connection option changed.

Post Reply
tyan0
8
8
Posts: 21
Joined: 2021-08-10 03:14

Cursor trajectory broken after connection option changed.

Post by tyan0 »

Versions:
UltraVNC viewer: 1.3.3 dev 10
vncserver: TigerVNC server 1.9.0+dfsg-3+deb10u3 (debian buster)
Server OS: Debian GNU Linux (buster)
Client OS: Windows 10 x64 (21H1)

Overview:
If UltraVNC viewer connects to tigervnc-server (in Linux) and the connection options are changed, trajectory of cursor will be broken. This issue does not happen if the server is UltraVNC in Windows 10.

Steps to reproduce the issue:
1. Install tigervnc-standalone-server in debian (buster).
2. Start vncserver in debian with

Code: Select all

vncserver -geometry 1024x768 -depth 32
3. Connect to the vncserver using UltraVNC viewer (1.3.3 dev 10) from Windows10 client machine.
4. Press 'Show Connection Options...' button.
5. Press 'OK' button.
6. Move cursur in the viewer.

Resulting screenshot with the issue:
Image

I looked into this problem with UltraVNC source code in GitHub, and found the following patch fixes the issue.

The patch which fixes the issue:

Code: Select all

--- ClientConnection.cpp.orig	2021-05-17 04:34:21.000000000 +0900
+++ ClientConnection.cpp	2021-08-13 05:13:25.800588300 +0900
@@ -5308,6 +5308,7 @@
 		fur.incremental = incremental ? 1 : 0;
 	else
 		fur.incremental = (incremental || ExtDesktop) ? 1 : 0;
+    ExtDesktop = false;
     fur.x = Swap16IfLE(x);
     fur.y = Swap16IfLE(y);
     fur.w = Swap16IfLE(w);
tyan0
8
8
Posts: 21
Joined: 2021-08-10 03:14

Re: Cursor trajectory broken after connection option changed

Post by tyan0 »

Sorry, the patch was against 1.3.3 dev 10. Here is the patch against git head (553dc8815d65711472fcd45fa01bd922d5fac686).
https://tyan0.yr32.net/files/mouse-curs ... -patch.zip
Post Reply