http://bugs.winehq.org/show_bug.cgi?id=2467
--- Comment #143 from Joel Pichette jpichette@hotmail.com 2011-11-08 20:26:14 CST ---
As stated in comment #129 the controls in battle.net menus are painted directly to the screen by locking the primary ddraw surface. In wine's implementation the primary surface ends up hidden under battle.net windows (see comment #111).
This hack blits from the primary surface to the foreground window every time the primary surface gets updated. This is obviously very slow but does the trick.
Please note that this is not a fix, it's only an ugly workaround made specifically for this wonderful game. I've tested the patch on wine 1.0.1 (debian testing) and wine 1.2rc6, is there anyone willing to test it further?
I'm trying to pinpoint the way to close this bug... discussion is the best way to write some more code.
How could this "ugly fix" be changed in a generic patch?
Should wine monitor the win32.application.screen and make the conversion to the size of the active window?
Should wine implement a virtual graphic adapter (video card) driver to capture what is painted directly to the screen? (the driver should be optional inside the wine config)