http://bugs.winehq.org/show_bug.cgi?id=32295
Bug #: 32295 Summary: WinUAE emulation window not refreshed properly when other windows move in front of it Product: Wine Version: 1.5.18 Platform: x86-64 URL: http://www.winuae.net/ OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: markk@clara.co.uk Classification: Unclassified Regression SHA1: 33ac850c80634c891b0c157bbffa612f70954a40
Created attachment 42625 --> http://bugs.winehq.org/attachment.cgi?id=42625 Shows window refresh issue with Wine 1.5.18
I'm testing with Lubuntu 11.10 x86-64, Nvidia driver 304.51. Openbox (non-compositing) window manager.
With Wine 1.5.18, the WinUAE emulation window is not refreshed properly if you move another window in front of it. Things were fine with Wine 1.5.5.
I tested several Wine releases and there are two changes in behaviour. Things first break in 1.5.13, then with 1.5.15 things break differently. I've attached a screenshot showing the 1.5.15-and-later problem.
To test, install and run WinUAE. Click Start to start emulation. After a few seconds you should see some non-black graphics in the emulation window. Press F12 to open the settings window and drag it around.
With Wine 1.5.13, 1.5.14: Normal mode: On pressing F12 and dragging the settings window over the emulation window, newly-exposed parts are all black. Drag the settings window so it covers most of the emulation window and release the mouse button. Now drag the setting window away so most of the emulation window is exposed. When you release the mouse button, the exposed area is rendered with the correct contents, but that is immediately overwritten with black. (You may have to repeat that a few times until you see the effect.)
Virtual desktop mode: On pressing F12 the emulation window is blanked (all black). If you drag the settings window quickly over the emulation window, you can see the correct contents being rendered, then immediately overwritten with black.
With Wine 1.5.15/16/18: Normal mode: Moving the settings window in front of the emulation window, newly-exposed parts of the emulation window are not refreshed properly. The only newly-exposed part which is refreshed, is that corresponding to the previous position of the settings window client area. The previous settings window decorations remain as "trash" in the emulation window.
Also, Wine does not know that other parts of the emulation window may need to be refreshed. For example if the user drags (without releasing the mouse button) the settings window all over the emulation window, the emulation window fills with "trash" (copies of settings window decorations) as the settings window is moved around. Once the user releases the button, Wine refreshes only the part corresponding to the original settings window client area.
Virtual desktop mode: Moving the settings window in front of the emulation window works correctly. The emulation window is refreshed properly. However, due to bug 24352 the emulation window can be brought in front of the settings window. If you click in the emulation window to do that, the emulation window frame is rendered, but the window contents are not refreshed. So the part which was under the settings window shows the old settings window contents. Drag the emulation window around. Notice that if you move it partially off the desktop and back again, newly-revealed parts are refreshed properly. So some of the settings window trash disappears as you move that part of the emulation window past the edge of the desktop and back.
A regression test for the 1.5.12->1.5.13 change gave this:
33ac850c80634c891b0c157bbffa612f70954a40 is the first bad commit commit 33ac850c80634c891b0c157bbffa612f70954a40 Author: Alexandre Julliard julliard@winehq.org Date: Thu Sep 6 12:39:34 2012 +0200
winex11: Use window surfaces for rendering top-level windows.
It can be disabled by setting "ClientSideGraphics"="n".
:040000 040000 704eac5fc311e63d373e399c63a2488a6b3dedca 33fb0e5963c1326f8765334e4714060c89b21b5e M dlls
I did another regression test for the 1.5.14->1.5.15 change, saying "git bisect good" for like-1.5.14 behaviour. The result:
cc7bf355c50b17b2e04f754c80464289df2a9ee7 is the first bad commit commit cc7bf355c50b17b2e04f754c80464289df2a9ee7 Author: Alexandre Julliard julliard@winehq.org Date: Tue Oct 9 15:21:21 2012 +0200
user32: Add support for setting the window surface visible region.
:040000 040000 ca9c6946038c5e8346d67e4ce02f576034fbdaf1 230c7328031dd70f529463ac959a43dbe35b040b M dlls :040000 040000 f31ee15864da2825f030f94bba46c5e07fa0cede bde3439027c457a464fc77b95f1da4ea8f4ad161 M include
http://bugs.winehq.org/show_bug.cgi?id=32295
Mark K markk@clara.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression, | |source CC| |markk@clara.co.uk
http://bugs.winehq.org/show_bug.cgi?id=32295
--- Comment #1 from Mark K markk@clara.co.uk 2012-11-26 10:19:33 CST --- With Wine 1.5.18, the rendering problems go away after setting the HKEY_CURRENT_USER/Software/Wine/X11 Driver/ClientSideGraphics registry value to N.
http://bugs.winehq.org/show_bug.cgi?id=32295
--- Comment #2 from Mark K markk@clara.co.uk 2012-11-27 13:38:11 CST --- Another program which shows the same problem as in the screenshot is snes9x. Download from http://files.ipherswipsite.com/snes9x/snes9x-1.53-win32.zip unzip and run. Select File->Load Game... and drag the file selection dialog window over the main window.
http://bugs.winehq.org/show_bug.cgi?id=32295
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |00cpxxx@gmail.com Ever Confirmed|0 |1
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com 2012-11-27 13:48:30 CST --- I can confirm this issue using snes9x in wine-1.5.18-27-gfbb66b3.
http://bugs.winehq.org/show_bug.cgi?id=32295
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |8e6548573233ecdb85a01ac8f6f | |48456fd259147 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2012-12-03 13:40:23 CST --- Fixed by 8e6548573233ecdb85a01ac8f6f48456fd259147.
http://bugs.winehq.org/show_bug.cgi?id=32295
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2012-12-07 13:36:05 CST --- Closing bugs fixed in 1.5.19.
https://bugs.winehq.org/show_bug.cgi?id=32295
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |winex11.drv