[Bug 59361] New: MDI child window creation don't respect the window attribute (not WS_MAXIMIZEBOX)
http://bugs.winehq.org/show_bug.cgi?id=59361 Bug ID: 59361 Summary: MDI child window creation don't respect the window attribute (not WS_MAXIMIZEBOX) Product: Wine Version: 11.0-rc3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@list.winehq.org Reporter: ch.panel@free.fr Distribution: --- Created attachment 80296 --> http://bugs.winehq.org/attachment.cgi?id=80296 behaviour in windows and with wine a MDI child window created with this : child->Attr.Style &= ~WS_MAXIMIZEBOX; child->Create(); don't respect the window attribute and show it maximized -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 Christian PANEL <ch.panel@free.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #1 from Dmitry Timoshkov <dmitry@baikal.ru> --- Is it possible to attach a sample with source to reproduce the bug? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #2 from Christian PANEL <ch.panel@free.fr> --- Unfortunately not, the example cited is indeed open-source code, but it's far too large. However, you can see from the examples that the "maximized" icon is greyed out, and yet Wine still displays the "maximized" window. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #3 from Dmitry Timoshkov <dmitry@baikal.ru> --- (In reply to Christian PANEL from comment #2)
Unfortunately not, the example cited is indeed open-source code, but it's far too large. However, you can see from the examples that the "maximized" icon is greyed out, and yet Wine still displays the "maximized" window.
It doesn't look like the described behaviour is related to MDI child creation, probably it's related to ShowWindow(SW_SHOWMAXIMIZED) handling. Could you provide a +win,+msg,+message log? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #4 from Dmitry Timoshkov <dmitry@baikal.ru> --- (In reply to Christian PANEL from comment #0)
Created attachment 80296 [details] behaviour in windows and with wine
Could you please clarify what difference between Wine and Windows these videos are supposed to show? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #5 from Christian PANEL <ch.panel@free.fr> --- Sorry if I wasn't clear. I just realized I reversed the videos : windows_bug8 show the behaviour of wine and wine_bug8 the behaviour of windows. There was 2 child windows : one that can be maximized and the other not. If I maximized the one and switch to the other, this other one should not be "maximized". This is ok in windows, not in wine -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #6 from Christian PANEL <ch.panel@free.fr> --- ... and yes the bug is probably in ShowWindow() that does not query the window attribute. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #7 from Dmitry Timoshkov <dmitry@baikal.ru> --- Created attachment 80304 --> http://bugs.winehq.org/attachment.cgi?id=80304 patch Does the attached patch help? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #8 from Christian PANEL <ch.panel@free.fr> --- Sorry, I'm not a wine developer and don't know how (and where is the source) to compile the dll. I have not the complete source code,but with these lines, I don't understand : the window must be redrawn even if not MAXIMIZED. SendMessageW( hwndPrev, WM_SETREDRAW, FALSE, 0 ) should redraw based on the state of the window... -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #9 from Dmitry Timoshkov <dmitry@baikal.ru> --- (In reply to Christian PANEL from comment #8)
Sorry, I'm not a wine developer and don't know how (and where is the source) to compile the dll.
No problem. Just in case, here is a reference to the guide: https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine
I have not the complete source code,but with these lines, I don't understand : the window must be redrawn even if not MAXIMIZED. SendMessageW( hwndPrev, WM_SETREDRAW, FALSE, 0 ) should redraw based on the state of the window...
I guess you were commenting on the following lines of code: /* restore old MDI child */ SendMessageW( hwndPrev, WM_SETREDRAW, FALSE, 0 ); NtUserShowWindow( hwndPrev, SW_RESTORE ); SendMessageW( hwndPrev, WM_SETREDRAW, TRUE, 0 ); They are supposed to disable redrawing of the being restored window, and after restoring (showing window in normal state) enable redrawing. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 --- Comment #10 from Christian PANEL <ch.panel@free.fr> --- Thanks for the infos That will interest me. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59361 Dmitry Timoshkov <dmitry@baikal.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #11 from Dmitry Timoshkov <dmitry@baikal.ru> --- (In reply to Dmitry Timoshkov from comment #7)
Created attachment 80304 [details] patch
Does the attached patch help?
Sent the patch along with the tests: https://gitlab.winehq.org/wine/wine/-/merge_requests/10127 -- 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.
participants (1)
-
WineHQ Bugzilla