http://bugs.winehq.org/show_bug.cgi?id=22369
Summary: A child window without WS_EX_MDICHILD style should not be tiled by the WM_MDITILE message. Product: Wine Version: unspecified Platform: All OS/Version: All Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 AssignedTo: wine-bugs@winehq.org ReportedBy: a.m.winehq@gmail.com
In user32/mdi.c -> MDITile -> #L763(wine-1.1.42) for-loop "remove all the windows we don't want",
the windows without WS_EX_MDICHILD window style should be also removed from win_array.
MDICascade is also.
http://bugs.winehq.org/show_bug.cgi?id=22369
Jeff Zaroyko jeffz@jeffz.name changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.1.42
--- Comment #1 from Jeff Zaroyko jeffz@jeffz.name 2010-04-16 04:04:30 --- Which application does this affect?
Testcase/patches welcome.
http://bugs.winehq.org/show_bug.cgi?id=22369
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Component|user32 |-unknown Platform|All |Other Resolution| |INVALID OS/Version|All |other
--- Comment #2 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-16 05:17:51 --- Unless you have a test case this bug is invalid.
http://bugs.winehq.org/show_bug.cgi?id=22369
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-16 05:18:04 --- Closing invalid.
http://bugs.winehq.org/show_bug.cgi?id=22369
a.m.winehq@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |UNCONFIRMED Component|-unknown |user32 Platform|Other |All Resolution|INVALID | OS/Version|other |All
--- Comment #4 from a.m.winehq@gmail.com 2010-04-16 10:34:35 --- I can show an app affected by this bug.
Lunascape Web Browser http://www.lunascape.tv/
A child window of an MDI client window is not always an MDI child window. (e.g.: background-image static child window of the client area)
It should not be tiled or cascaded.
if ((GetWindowLongW( win_array[i], GWL_EXSTYLE ) & WS_EX_MDICHILD) != WS_EX_MDICHILD) continue;
http://bugs.winehq.org/show_bug.cgi?id=22369
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|user32 |-unknown Platform|All |Other OS/Version|All |other
--- Comment #5 from Vitaliy Margolen vitaliy@kievinfo.com 2010-04-16 22:09:10 --- So the problem is exactly what?
http://bugs.winehq.org/show_bug.cgi?id=22369
a.m.winehq@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |user32
--- Comment #6 from a.m.winehq@gmail.com 2010-04-17 00:27:27 --- A child window that is not an MDI window is also moved and resized. As a result, the MDI child windows are tiled with the wrong size.
In case of Native Windows, it works properly.
http://bugs.winehq.org/show_bug.cgi?id=22369
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor
--- Comment #7 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-17 00:39:56 --- How do you know what is the exact source of the problem with that application?
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #8 from a.m.winehq@gmail.com 2010-04-17 01:13:45 --- That is not difficult. Looking at the changed size of the window, it is clear.
Also, regardless of that application, the source is not right.
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #9 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-17 04:47:59 --- (In reply to comment #8)
That is not difficult. Looking at the changed size of the window, it is clear.
Also, regardless of that application, the source is not right.
Once again, how do you know what is the exact source of the problem with that application? And what is the reason you think that the source is not right?
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #10 from a.m.winehq@gmail.com 2010-04-17 05:39:30 ---
Once again, how do you know what is the exact source of the problem with that application? And what is the reason you think that the source is not right?
All MDI child windows must be with WS_EX_MDICHILD style.
Do you understand?
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #11 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-17 05:43:11 --- (In reply to comment #10)
Once again, how do you know what is the exact source of the problem with that application? And what is the reason you think that the source is not right?
All MDI child windows must be with WS_EX_MDICHILD style.
Do you understand?
More details please, so far this bug looks more like a speculation.
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #12 from a.m.winehq@gmail.com 2010-04-17 06:33:00 --- In MS Windows, All MDI child windows must be created with the WS_EX_MDICHILD style.
The CreateMDIWindow API and the WM_MDICREATE message set that style on the child window automatically.
(The application can use the CreateWindowEx API with the WS_EX_MDICHILD style to create MDI child windows.)
So, if a child window of an MDI client(parent) window is not with the WS_EX_MDICHILD style, it is not considered as an MDI child window.
Do you understand?
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #13 from Alexandre Julliard julliard@winehq.org 2010-04-17 08:50:03 --- Please write a test case demonstrating your problem.
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #14 from a.m.winehq@gmail.com 2010-04-18 00:29:39 --- (In reply to comment #13)
Please write a test case demonstrating your problem.
I'll do it later in my spare time.
In the source code, the bug is obvious.
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #15 from a.m.winehq@gmail.com 2010-04-19 05:40:52 --- Created an attachment (id=27453) --> (http://bugs.winehq.org/attachment.cgi?id=27453) a simple test project
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #16 from a.m.winehq@gmail.com 2010-04-19 05:41:57 --- I've attached a simple test project.
Build it, run it on Wine, open a few MDI child windows, select menu [Window]->[Tile], and you will see the bug. (blank in the client area)
http://bugs.winehq.org/show_bug.cgi?id=22369
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source, testcase CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #17 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-19 23:05:42 --- Feel free to send a patch to wine-patches.
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #18 from butraxz@gmail.com 2013-05-25 09:48:33 CDT --- No update for over 900 days. Is this still and issue in 1.5.31 or higher or is this abandoned ?
http://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #19 from Austin English austinenglish@gmail.com 2013-05-28 21:47:47 CDT --- (In reply to comment #18)
No update for over 900 days. Is this still and issue in 1.5.31 or higher or is this abandoned ?
There's a test application. Unfortunately it doesn't include a binary, and winemaker can't handle it, since we don't have afxwin.h:
make[1]: Entering directory `/home/austin/MdiTest/MdiTest' wineg++ -c -mno-cygwin -I. -o ChildFrm.o ChildFrm.cpp In file included from ChildFrm.cpp:3:0: stdafx.h:22:64: fatal error: afxwin.h: No such file or directory compilation terminated.
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #20 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Austin English from comment #19)
There's a test application. Unfortunately it doesn't include a binary, and winemaker can't handle it, since we don't have afxwin.h:
make[1]: Entering directory `/home/austin/MdiTest/MdiTest' wineg++ -c -mno-cygwin -I. -o ChildFrm.o ChildFrm.cpp In file included from ChildFrm.cpp:3:0: stdafx.h:22:64: fatal error: afxwin.h: No such file or directory compilation terminated.
Unfortunately the Express versions of Visual Studio will not be able to compile this (afxwin.h is not available), can anyone help compiling this?
https://bugs.winehq.org/show_bug.cgi?id=22369
dimaki dimaki@rocketmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dimaki@rocketmail.com
--- Comment #21 from dimaki dimaki@rocketmail.com --- Several days ago Microsoft launched Visual Studio 2013 Community Edition which is free and is a full version of Visual Studio. http://www.visualstudio.com/en-us/products/visual-studio-community-vs
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #22 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to dimaki from comment #21)
Several days ago Microsoft launched Visual Studio 2013 Community Edition which is free and is a full version of Visual Studio. http://www.visualstudio.com/en-us/products/visual-studio-community-vs
Yes, but unfortunately it's not available for XP.
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #23 from Dmitry Timoshkov dmitry@baikal.ru --- Created attachment 50135 --> https://bugs.winehq.org/attachment.cgi?id=50135 simple test application
Here is a not MFC based test application, it should be much simpler to play with. This application shows same behaviour under Windows7 and Wine, which doesn't confirm this bug report.
https://bugs.winehq.org/show_bug.cgi?id=22369
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|user32 |-unknown
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #24 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Dmitry Timoshkov from comment #23)
Created attachment 50135 [details] simple test application
Here is a not MFC based test application, it should be much simpler to play with. This application shows same behaviour under Windows7 and Wine, which doesn't confirm this bug report.
I see that your compiled application will not run in XP or lower, so I recompiled it in Vistual C++ 6. But all I see is a large gray window, no childs inside. Since the bug has no screenshots can you tell me what is supposed to happen?
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #25 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Bruno Jesus from comment #24)
I see that your compiled application will not run in XP or lower, so I recompiled it in Vistual C++ 6. But all I see is a large gray window, no childs inside. Since the bug has no screenshots can you tell me what is supposed to happen?
Create some child/MDI windows either using File menu or hotkeys: Ctlr+N creates child window with WS_EX_MDICHILD style set, Ctrl+C creates child window without that style. Then either press Ctrl+T or menu Window -> Tile to tile created windows.
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #26 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Dmitry Timoshkov from comment #25)
Create some child/MDI windows either using File menu or hotkeys: Ctlr+N creates child window with WS_EX_MDICHILD style set, Ctrl+C creates child window without that style. Then either press Ctrl+T or menu Window -> Tile to tile created windows.
Ok, I see now that when I run in XP the operation client_cs.hWindowMenu = GetSubMenu(GetMenu(hwnd), 1); fails so there is no menu and the shortcuts do not work.
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #27 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Bruno Jesus from comment #26)
Ok, I see now that when I run in XP the operation client_cs.hWindowMenu = GetSubMenu(GetMenu(hwnd), 1); fails so there is no menu and the shortcuts do not work.
Perhaps you forgot to link in the resources (.res file)?
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #28 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Dmitry Timoshkov from comment #27)
Perhaps you forgot to link in the resources (.res file)?
Yes!!! Thank you.
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #29 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 50137 --> https://bugs.winehq.org/attachment.cgi?id=50137 Wine 1.7.32 screenshot
https://bugs.winehq.org/show_bug.cgi?id=22369
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #30 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 50138 --> https://bugs.winehq.org/attachment.cgi?id=50138 XP screenshot
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #31 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 50139 --> https://bugs.winehq.org/attachment.cgi?id=50139 Windows 8.1 screenshot
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #32 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 50143 --> https://bugs.winehq.org/attachment.cgi?id=50143 Win 98 screenshot
https://bugs.winehq.org/show_bug.cgi?id=22369
--- Comment #33 from Bruno Jesus 00cpxxx@gmail.com --- According to Dmitry's test this bug is invalid as Wine, Windows 98, XP and 8.1 results in the same tile disposition.
https://bugs.winehq.org/show_bug.cgi?id=22369
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
https://bugs.winehq.org/show_bug.cgi?id=22369
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #34 from joaopa jeremielapuree@yahoo.fr --- And what about this bug. Is it INVALID or not?