[Bug 32295] New: WinUAE emulation window not refreshed properly when other windows move in front of it

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 26 09:44:02 CST 2012


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 at winehq.org
        ReportedBy: markk at 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 at 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 at 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

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