http://bugs.winehq.org/show_bug.cgi?id=22778
Summary: PlayOnline viewer's window is not correctly updated Product: Wine Version: 1.1.44 Platform: x86 URL: http://dl.square-enix.co.jp/polus/setup.exe OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: wylda@volny.cz
Created an attachment (id=28102) --> (http://bugs.winehq.org/attachment.cgi?id=28102) pol.exe refresh problem when in windowed mode
In windowed mode, when you move app's window that only part is visible, then in this partially visible state is not correctly updated.
1) Probably nobody can explain that better than Henri
I think what happens is that the blit is rejected because it's partially outside the screen. While moving the window to the outside that isn't very noticeable, but as soon as you move it back you see the now cleared parts of the window that don't get updated until the window is fully inside the screen again.
2) Another test scenario: When app's window is only partly visible and then resized, it becomes black.
Attachment shows the 1st test scenario (they are probably related, thus in one bug report).
Starting line for this bug report is wine-1.1.44-322-g5cc00e8 (there were many bug before: bug 22145, bug 22197, bug 22290, bug 22294, bug 22311, bug 22735).
http://bugs.winehq.org/show_bug.cgi?id=22778
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=22778
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hverbeet@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #1 from Wylda wylda@volny.cz 2010-05-27 13:32:05 ---
Still present in wine-1.2-rc1-142-ga72f3f3.
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #2 from Wylda wylda@volny.cz 2010-06-20 08:17:24 ---
Still present in wine-1.2-rc4.
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #3 from Wylda wylda@volny.cz 2010-08-22 08:00:40 ---
Still present in wine-1.3.1.
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #4 from Henri Verbeet hverbeet@gmail.com 2011-12-01 01:39:53 CST --- This still happens with wine-1.3.33-310-gbf644e0. It now prints "fixme:d3d_surface:wined3d_surface_blt Blit clipping not implemented.", which is consistent with the original explanation.
http://bugs.winehq.org/show_bug.cgi?id=22778
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |markk@clara.co.uk
--- Comment #5 from Henri Verbeet hverbeet@gmail.com 2011-12-08 16:28:04 CST --- *** Bug 29279 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #6 from Henri Verbeet hverbeet@gmail.com 2011-12-13 15:24:11 CST --- Should be fixed by 10d2a9375ddfac47de8957c7d126a28d82f15701.
http://bugs.winehq.org/show_bug.cgi?id=22778
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |10d2a9375ddfac47de8957c7d12 | |6a28d82f15701 Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #7 from Wylda wylda@volny.cz 2011-12-14 15:09:06 CST ---
I tried really hard to find there a bug under wine-1.3.34-327-g447384e, but i faild :) Thus perfect & fixed. Thank you Henri!
http://bugs.winehq.org/show_bug.cgi?id=22778
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2011-12-16 13:29:37 CST --- Closing bugs fixed in 1.3.35.
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #9 from Mark K markk@clara.co.uk 2012-02-03 06:38:55 CST --- It looks like this bug has reappeared.
I'm testing WinUAE, an Amiga emulator. With Wine 1.3.36 the bug was fixed, and the emulation window refreshes when it is partly off-screen. With Wine 1.4rc1 the window stops being refreshed when partly off-screen.
I'll try doing a regression test shortly.
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #10 from Mark K markk@clara.co.uk 2012-02-03 07:38:54 CST --- Actually, it looks like the bug wasn't completely fixed in Wine 1.3.36. Whether a partly off-screen window is refreshed properly seems to depend on what proportion of the window is off-screen.
Testing with WinUAE, with Wine 1.3.36 the window refreshes correctly when a small proportion of its area is off-screen. But in a different position with the window mostly off-screen, the window is not refreshed.
Nevertheless, things have regressed with Wine 1.4rc1, since the window never refreshes even when only a small part is off-screen. So I noted the partly-working case as "git bisect good" in the regression test.
The regression test reported this:
3e9fe3e938f26a8c831f92367a13776d165cfdf8 is the first bad commit commit 3e9fe3e938f26a8c831f92367a13776d165cfdf8 Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri Jan 6 11:20:03 2012 +0100
ddraw: Use the window's client rect for clipping.
:040000 040000 41ca6ddda70387741182ce47ad613e207196c570 30adc2d970a2fe0b7be3c2d7e90847d0d7b6bb3a M dlls
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #11 from Henri Verbeet hverbeet@gmail.com 2012-02-03 07:49:00 CST --- Created attachment 38678 --> http://bugs.winehq.org/attachment.cgi?id=38678 patch
Yeah, 3e9fe3e938f26a8c831f92367a13776d165cfdf8 fixed clipping to be against the correct area, but accidentally stopped clipping against the screen. The attached patch should help.
http://bugs.winehq.org/show_bug.cgi?id=22778
--- Comment #12 from Mark K markk@clara.co.uk 2012-02-03 13:03:14 CST --- Thanks, applying that patch gets the current Wine to work the same as version 1.3.36 did (i.e. partially).
If you want to test using WinUAE to figure out the cause of the issue described in comment 10: - Download and run the WinUAE installer - Run winuae.exe. (You can optionally click CPU and FPU, then Fastest possible to make the emulation faster.) - Click Start. The emulation window opens. After a few seconds see a red mouse pointer and a message about no bootable media. You can move the red pointer around. - Press middle mouse button to untrap the mouse and move the emulation window so it's partly off-screen. Click in the window to trap the mouse and see whether you can move the red pointer. - Repeat the above step, moving the window further and further off-screen each time. At some point it will stop refreshing when you try moving the red pointer again.