Bug 85313

Summary: Garbage around mouse pointer when resumed from suspend
Product: xorg Reporter: Yogish Kulkarni <yogishk>
Component: Server/DDX/XorgAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: aplattner, aritger, djkurtz, eero.t.tamminen, yogishk
Version: git   
Hardware: ARM   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
fix for the issue none

Description Yogish Kulkarni 2014-10-22 06:38:49 UTC

    
Comment 1 Yogish Kulkarni 2014-10-22 06:46:00 UTC
Garbage around mouse pointer is observed when resumed from suspend due to below sequence - 
1)Cursor is removed: isUp will be FALSE if HW cursor is set.

2)VT switched away from X: vtSema becomes FALSE.

3)xf86CursorSetCursor is called with non-null CursorPtr:
Saves the passed in CursorPtr, fallbacks to SW cursor and invokes spriteFuncs->SetCursor which saves the area under cursor and restores
the cursor. This sets isUp to TRUE and as vtSema is FALSE saved data
is garbage.

4) VT switched to X : vtSema becomes TRUE. xf86Cursor enable fb access
is called which will remove the SW cursor, i.e copies saved data in #3
to screen.

This results to momentary garbage data on screen.
Comment 2 Yogish Kulkarni 2014-10-22 06:54:01 UTC
Created attachment 108221 [details] [review]
fix for the issue

Proposed fix against xserver 1.12.4 is attached.
Comment 3 Yogish Kulkarni 2014-11-11 08:31:57 UTC
Fix is merged in Master -
http://cgit.freedesktop.org/xorg/xserver/commit/?id=df6a3a07f60c40bab2b59b9b3ba0c20c8fb7e95d

Marking as resolved.

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.