[Bug 23813] New: Icon corruption on Mac OS X

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jul 27 22:58:21 CDT 2010


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

           Summary: Icon corruption on Mac OS X
           Product: Wine
           Version: 1.2
          Platform: x86
        OS/Version: Mac OS X 10.6
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: winex11.drv
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: rwoodsmall at mac.com


Created an attachment (id=29876)
 --> (http://bugs.winehq.org/attachment.cgi?id=29876)
winefile screenshot of icon corruption

I've narrowed down graphical corruption with some icons on Wine compiled from
source on Mac OS X, specifically using Git on OS X 10.6.4, the latest update of
Snow Leopard.  I do *not* see this on CentOS or Fedora hosts using Nvidia
drivers. I have only seen it on Mac OS X so far, on 10.5/Leopard and 10.6/Snow
Leopard.

I'm using the system-supplied X11 application on 10.6, and Xcode 3.2.3 which
equates to GCC:

**
rbwmbp:~ ryan.woodsmall$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~38/src/configure --disable-checking
--enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib
--build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10-
--host=x86_64-apple-darwin10 --target=i686-apple-darwin10
--with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)
**

No special CFLAGS other than "-m32 -arch i386 -I/usr/X11/include" were used. 
This happens in a completely empty, new prefix with no overrides, winetricks,
or anything else non-standard.

This corruption shows up in a number of apps, but I'm using winefile from a
source compile to verify the issue.  I performed a bisect, and this issue
appears to have come up between 1.1.44 and 1.2-rc1; it is still an issue in the
release of 1.2 as well as the Git master.  The bisect reveals the commit where
this issue first appears as:

**
ea596f8a5f7d732bb56b5921ceb964137df0b930 is the first bad commit
commit ea596f8a5f7d732bb56b5921ceb964137df0b930
Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue May 18 14:11:51 2010 +0200

    winex11: Force alpha channel to 0 when blitting to depth 32 from a lower
depth.

:040000 040000 369e8db88a7dd0c206f6b37d41bfcac27dfbc708
28700a3330faf630cb189926f9b335936f158ab9 M    dlls
**

Reverting the patch with "git show ea596f8a5f7d732bb56b5921ceb964137df0b930 |
patch -p1 -R" allows icons to appear as expected.  A quick check of
physDevSrc->depth with printf shows a number of the passed values to be 24,
triggering the new get_no_alpha_mask path and resulting in the icon corruption.

Unfortunately I'm a bit out of my depth on the XRender extension, particularly
on the weird OS X X11 app, and the winex11.drv code.  I didn't really notice
this issue until after the code freeze, and ran winefile and a few winetricks
to test the new release.  I'll keep looking around the source and reading up on
XRender, but even if this is a simple fix I'm not sure I'll be able to fix it
simply and quickly.

Thanks all, and let me know if there's anything else I can provide!

-- 
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