Bug 58398

Summary: Server doesn't really hide cursor until first call to XDefineCursor
Product: xorg Reporter: Bastien Nocera <bugzilla>
Component: Server/DDX/XorgAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Bastien Nocera 2012-12-17 09:21:38 UTC
xorg-x11-server-Xorg-1.13.0-11.fc18.x86_64

Even after stubbing out all the calls to XDefineCursor() in the system (using /etc/ld.so.preload to override the system's XDefineCursor), I would still get the cursor showing up in between GDM and the user session.

commit e02f864fdf19a5ab1682336be343c57fdb69ef43 says:
Suppress cursor display until the first XDefineCursor() request.

It will actually only suppress it until the first XFixesCursor call.

1) Start Xorg server
2) Hide the cursor using XFixesHideCursor()
3) Show it again using XFixesShowCursor()

The cursor will be shown.

This is currently stopping https://bugzilla.gnome.org/show_bug.cgi?id=688499 from working correctly when transitioning from gdm to the user session.
Comment 1 Peter Hutterer 2012-12-18 04:28:02 UTC
http://patchwork.freedesktop.org/patch/12679/
Comment 2 Bastien Nocera 2012-12-18 07:56:21 UTC
Patch seems to work as advertised, thanks.
Comment 3 Peter Hutterer 2013-07-15 03:17:50 UTC
commit c100211034ab69ce453a1644fb61c6808d7e3eda
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 18 14:12:40 2012 +1000

    dix: only show the cursor if a window defines one (#58398)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.