[Bug 17505] New: Riven: mouse cursor is drawn on a checkerboard background

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Feb 22 12:59:43 CST 2009


http://bugs.winehq.org/show_bug.cgi?id=17505

           Summary: Riven: mouse cursor is drawn on a checkerboard
                    background
           Product: Wine
           Version: 1.1.15
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: winex11.drv
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: skuller at skuller.ath.cx


Created an attachment (id=19612)
 --> (http://bugs.winehq.org/attachment.cgi?id=19612)
Mark nearly black samples as entirely transparent

When running the DVD version of Riven in Wine, in-game mouse cursor is drawn on
a semi-transparent checkerboard background [1]. This bug seems to be related to
the Xcursor code path in dlls/winex11.drv/mouse.c, since when I remove
libXcursor.so.1 out of the way so that Wine falls back to the original pixmap
cursor handling code, in-game cursor is drawn correctly [2].

[1] http://skuller.ath.cx/tmp/riven1.png
[2] http://skuller.ath.cx/tmp/riven2.png

As far as I understand the code, checkerboard pattern results from the way
inverted colors are emulated in the create_cursor_image() function. Riven
creates a 32 bit bitmap with an empty alpha channel, with transparent pixels
(as defined by AND mask) being nearly black (but not quite, 0x040404 to be
precise). Then the sampled grayscale value of 0x04 is mapped to the alpha
channel and the pixel color is inverted, resulting in a semi-transparent
background (which is very visible — perhaps X supports only discrete values
for alpha?).

Attached patch attempts to fix this issue by checking for small grayscale
samples being mapped to the alpha channel (less than 5% opacity) and marking
the resulting pixel entirely transparent for such samples.


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list