After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 492033 - Cursor can't change to the correct icon when mouse is on edge of the window
Cursor can't change to the correct icon when mouse is on edge of the window
Status: RESOLVED FIXED
Product: vino
Classification: Applications
Component: Server
2.20.x
Other All
: Normal normal
: ---
Assigned To: Vino Maintainer(s)
Vino Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2007-10-31 10:13 UTC by avazhang
Modified: 2012-05-14 19:09 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20


Attachments
Implement suggestion from comment #1 (2.39 KB, patch)
2012-03-29 12:15 UTC, Fabrice Bellet
committed Details | Review
Patch that fixes the cursor bounds computation (1.09 KB, patch)
2012-03-29 12:19 UTC, Fabrice Bellet
committed Details | Review
Patch that fixes iteration on the cursor->source[] array (693 bytes, patch)
2012-03-29 12:21 UTC, Fabrice Bellet
committed Details | Review

Description avazhang 2007-10-31 10:13:53 UTC
Please describe the problem:
On client, approach mouse to the edge of the window, such as a terminal or a firefox window.
Observe the status of cursor in this process:
On server, cursor icon changes from a normal arrow icon to a special icon, which shows you are at the edge of this window.
On client, this function doesn't work.

Both server and client machines are running Solaris.

Steps to reproduce:
1. Enable remote desktop on server side: 
Launch->Preferences->Remote Desktop
Choose "Allow other users to view your desktop", "Allow other users to control your desktop"
Press "Close"
2. On client side, access server from firefox
Start up firefox, type "http://$Server_Hostname:5800" in URL, 
3. Open a terminal in client, approach mouse to the edge of the window. observe the status of cursor in this process.


Actual results:
On server, cursor icon changes from a normal arrow icon to a special icon, which shows you are at the edge of this window.
On client, this function doesn't work.

Expected results:
Client's behavior should be the same as server's.

Does this happen every time?
yes

Other information:
Comment 1 Adam Goode 2010-02-12 16:29:33 UTC
Yes, this is because vino hard-codes the cursor image and hasn't been updated to use XFixes support for this.

Using XFixesGetCursorImage in vino-cursor.c and vino-server.c, an rfb cursor could be generated with a little refactoring.
Comment 2 Fabrice Bellet 2012-03-29 12:15:42 UTC
Created attachment 210862 [details] [review]
Implement suggestion from comment #1
Comment 3 Fabrice Bellet 2012-03-29 12:19:04 UTC
Created attachment 210863 [details] [review]
Patch that fixes the cursor bounds computation

Found those problems while debugging the cursor case with libefence.
Comment 4 Fabrice Bellet 2012-03-29 12:21:17 UTC
Created attachment 210864 [details] [review]
Patch that fixes iteration on the cursor->source[] array
Comment 5 David King 2012-05-14 19:07:47 UTC
Comment on attachment 210862 [details] [review]
Implement suggestion from comment #1

Committed and pushed to master as commit 962af8d7c241d66214d6755d9ed4513e6504cd1b.
Comment 6 David King 2012-05-14 19:08:21 UTC
Comment on attachment 210863 [details] [review]
Patch that fixes the cursor bounds computation

Committed and pushed to master as commit b2cc3670b909fd1fd2e7f475b7cc39dfcc56ac63.
Comment 7 David King 2012-05-14 19:08:58 UTC
Comment on attachment 210864 [details] [review]
Patch that fixes iteration on the cursor->source[] array

Committed and pushed to master as commit 8bbbfce1785423d6c1af2f3f0588c234e8f96488, thanks!