[Bug 28678] New: DirectDraw primary buffer is obscured by transparent window

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Oct 12 11:23:58 CDT 2011


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

             Bug #: 28678
           Summary: DirectDraw primary buffer is obscured by transparent
                    window
           Product: Wine
           Version: unspecified
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: directx-ddraw
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: octavian.voicu at gmail.com
    Classification: Unclassified


Created attachment 36852
  --> http://bugs.winehq.org/attachment.cgi?id=36852
Screenshot showing the obscured dialog.

When trying to exit from the game The Longest Journey (either via menu option
or pressing Alt+F4), a dialog box is shown with Yes/No options.

The application uses DirectDraw for rendering. The dialog box and mouse cursor
are rendered on an offscreen surface (dialog has an image as the background and
buttons use a custom implementation afaics), which is then blitted to the
primary buffer (happens like this when you force single buffer mode; with
double buffering it could be slightly different, but the overall effect is the
same).

The dialog is a parent of the main application window, uses the standard dialog
window class (atom #32270 or 8000 in hex) and has the WS_POPUP and
WS_EX_TRANSPARENT window styles. Window receives a WM_ERASEBKGND message, which
is handled by the default dialog proc by painting the background in the
standard window background color (gray in this case).

When primary buffer is blitted to the d3d surface
(ddraw_surface_update_frontbuffer which uses OpenGL), the rendering of the
dialog is masked by the window boundaries and the gray rectangle remains.
Dialog is interactable and you can click the buttons (if you can do that
without seeing where the mouse is).

The question is: how can we make the primary buffer draw over WS_EX_TRANSPARENT
child windows, as it works on native? Removing the WS_EX_TRANSPARENT style from
the dialog window (on runtime, using WinSpy++ 1.7) makes native's behavior
identical to current wine behavior (only a gray rectangle is visible).

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