[Bug 50743] New: .NET Core WPF applications with layered windows do not initially render

WineHQ Bugzilla wine-bugs at winehq.org
Sun Feb 28 14:35:30 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=50743

            Bug ID: 50743
           Summary: .NET Core WPF applications with layered windows do not
                    initially render
           Product: Wine
           Version: 6.3
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: winex11.drv
          Assignee: wine-bugs at winehq.org
          Reporter: madewokherd at gmail.com
      Distribution: ---

Found while working on WPF in Wine Mono. I've committed a work-around to Wine
Mono (not yet in a release), but the bug is present in .NET Core as well.

For any application using a WPF window with AllowsTransparency set to true
(which makes it a layered window), the window's contents are initially an
opaque black fill. Fully transparent areas are still transparent. If part of
the window redraws (such as from a hover effect), the refreshed area draws
correctly.

I'm working on uploading a self-contained test case. Unfortunately, the archive
exceeds the file size limit.

The work-around in Wine Mono is to redraw the entire window in response to
WM_WINDOWPOSCHANGED messages.

The code that controls this can be found here:
https://github.com/dotnet/wpf/blob/release/3.1/src/Microsoft.DotNet.Wpf/src/PresentationCore/System/Windows/InterOp/HwndTarget.cs

There are a lot of cases where they redraw, but the relevant ones here are
probably WM_SIZE and WM_SHOWWINDOW.

I tried the test program in CrossOver Mac 20, and it rendered correctly. This
makes me think it's an X11-specific issue, but it could also be related to
version difference.

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