[Bug 34948] Chessmaster 10th Edition: title bar covers part of the player login window (Mac OS X only bug)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Nov 20 17:14:02 CST 2013


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

Ken Thomases <ken at codeweavers.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED

--- Comment #2 from Ken Thomases <ken at codeweavers.com> 2013-11-20 17:14:02 CST ---
The issue here is that the app is custom drawing the window's non-client area
(its frame).  This is a situation where Wine often has problems.  The app
doesn't do anything to "tell" Wine that it's going to do this, so the graphics
drivers assume that they should replace the non-client area with
platform-specific window decorations.

It is more or less a fluke that this doesn't happen with the X11 driver.  The
app sets the WS_EX_TOOLWINDOW extended style on the window and the X11 driver
doesn't support that.  (I think because many X11 window managers don't handle
tool windows well.)  Because it doesn't support it, the X11 driver simply
disables window manager decorations on such windows and lets user32 draw the
non-client area.  The app intercedes and user32 never gets the chance.

So, the X11 driver's WS_EX_TOOLWINDOW limitation happens to hide the fact that
it doesn't cope well with apps which do custom drawing of the non-client area.

The Mac driver doesn't cope any better with apps which do custom drawing of the
non-client area but it does support WS_EX_TOOLWINDOW windows.  So, it doesn't
turn off window decorations and that conflicts with the app's custom drawing.

I have submitted a patch <http://source.winehq.org/patches/data/100585> to add
support for a new registry setting to the Mac driver.  Once that patch is
applied, if you set:

[HKEY_CURRENT_USER\Software\Wine\Mac Driver]
"DisableWindowDecorations"="1"

then the Mac driver won't decorate the window and it will look like it should. 
As usual, you can also set that per-app by using the key
[HKEY_CURRENT_USER\Software\Wine\AppDefaults\<whatever>.exe\Mac Driver]
instead.

This registry setting is similar to the X11-centric "Allow the window manager
to decorate the windows" setting in winecfg, but they don't interact.  Some day
winecfg needs to be modified so that it has settings for the Mac driver, too.

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