I've been periodically revisiting a patch I've been using to fix a bug with running Borderlands under Wine at the same resolution as the desktop ( original message: http://www.winehq.org/pipermail/wine-devel/2010-May/083339.html ). Attached is an iteration that appears to resolve the issue without impacting the other applications I normally run. It appears that the problem arises since Borderlands goes straight from being iconified to being exactly the desktop resolution, as a result Wine never turns off the "iconic" flag - so the application window is not sized or positioned properly. I would appreciate it if I could get some feedback on this patch, it doesn't seem to break anything but it would be nice to have an expert opinion.
Erich Hoover ehoover@mines.edu
Erich Hoover ehoover@mines.edu writes:
I've been periodically revisiting a patch I've been using to fix a bug with running Borderlands under Wine at the same resolution as the desktop ( original message: http://www.winehq.org/pipermail/wine-devel/2010-May/083339.html ). Attached is an iteration that appears to resolve the issue without impacting the other applications I normally run. It appears that the problem arises since Borderlands goes straight from being iconified to being exactly the desktop resolution, as a result Wine never turns off the "iconic" flag - so the application window is not sized or positioned properly. I would appreciate it if I could get some feedback on this patch, it doesn't seem to break anything but it would be nice to have an expert opinion.
It's not correct, the iconic flag is supposed to reflect the state that we have asked from X. What is the exact sequence that leads to the window remaining iconified?
On Thu, Aug 26, 2010 at 2:02 AM, Alexandre Julliard julliard@winehq.org wrote:
... It's not correct, the iconic flag is supposed to reflect the state that we have asked from X. What is the exact sequence that leads to the window remaining iconified?
I figured this still wasn't quite right. It's not that it remains iconified, it's that it goes to "partial-screen" (see attached screenshot) instead of full-screen. The relevant calls appear to be (noting that my display is currently set to 1440x900):
trace:win:WIN_CreateWindowEx L"Borderlands" L"LaunchUnrealUWindowsClient" ex=00040000 style=00cb0000 360,225 720x450 parent=(nil) menu=(nil) inst=0x400000 params=(nil) trace:win:dump_window_styles style: WS_CAPTION WS_SYSMENU WS_MINIMIZEBOX WS_MAXIMIZEBOX trace:win:dump_window_styles exstyle: WS_EX_APPWINDOW ... trace:win:SetWindowPos hwnd 0x30096, after (nil), 21,846 (32x32), flags 00008160 trace:win:dump_winpos_flags flags: SWP_FRAMECHANGED SWP_SHOWWINDOW SWP_NOCOPYBITS SWP_STATECHANGED ... trace:win:SetWindowPos hwnd 0x30096, after (nil), 0,0 (1440x900), flags 00000014 trace:win:dump_winpos_flags flags: SWP_NOZORDER SWP_NOACTIVATE ... trace:win:SetWindowPos hwnd 0x30096, after (nil), 0,0 (0x0), flags 00000043 trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_SHOWWINDOW ...
So, you can see why I was suspicious of the "iconic" status not being updated and that resulting in the window not transitioning to the full-screen size.
Erich Hoover ehoover@mines.edu