diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-12-18 14:12:40 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-03-06 08:56:23 +1000 |
commit | c100211034ab69ce453a1644fb61c6808d7e3eda (patch) | |
tree | 5e157efbca33e14c0011209cbc5e836fd6e6e560 /dix | |
parent | bd58ebe4cf3b0ce60f87fb26a3715f774dabd349 (diff) |
dix: only show the cursor if a window defines one (#58398)
e02f864fdf "Suppress cursor display until the first XDefineCursor() request"
disabled cursor display a priori unless -retro is given.
On a plain server, caling XFixesHideCursor() and XFixesShowCursor() would
show the default root cursor, despite no client actually defining a cursor.
Change the logic, disable CursorVisible by default and only enable it from
the window's CWCursor logic. If no window ever defines a cursor, said cursor
stays invisible.
X.Org Bug 58398 <http://bugs.freedesktop.org/show_bug.cgi?id=58398>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Bastien Nocera <hadess@hadess.net>
Reviewed-by: Daniel Martin <consume.noise@gmail.com>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/window.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/dix/window.c b/dix/window.c index a5b28a630..a9297f3c8 100644 --- a/dix/window.c +++ b/dix/window.c @@ -1431,6 +1431,8 @@ ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client) } } + CursorVisible = TRUE; + if (pWin->realized) WindowHasNewCursor(pWin); @@ -3430,6 +3432,8 @@ ChangeWindowDeviceCursor(WindowPtr pWin, DeviceIntPtr pDev, CursorPtr pCursor) } out: + CursorVisible = TRUE; + if (pWin->realized) WindowHasNewCursor(pWin); |