[Bug 5402] Multiple apps crash (e.g. PhotoStitch 3.1, Army Builder, Web Builder....)

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jul 9 17:28:13 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=5402


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #32 from Anastasius Focht <focht at gmx.net>  2010-07-09 17:28:12 ---
Hello,

--- quote ---
What's the simplest way to create a test case for this behaviour? Creating a
not
visible overlapped, and then a visible popup windows work same way under Wine
as they do under Windows (i.e. GetFocus() and GetActiveWindow() return same
active and focus windows). Are there any SetWindowPos, SetParent, ShowWindow
that required to replicate the bug?
--- quote ---

Well, it's a deviation of the tabstop+focus
assignment issue explained in bug 19052
(http://bugs.winehq.org/show_bug.cgi?id=19052#c8)

GetNextDlgTabItem() is still most likely the cause.
More (undocumented?) corner cases need to be handled.

The window hierarchy for the case here (using "PhotoStitch 3.1"):

---

(1)  top level (main app window)

 Title=PhotoStitch
 Parent=Topmost
 Style=0x4CF0000
(WS_OVERLAPPED|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPSIBLINGS|WS_SYSMENU|WS_THICKFRAME|WS_CAPTION)
 ExtStyle=0x300 (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
 Class=Afx:400000:b:2020c:6:30238

(2) dialog control bar

 Parent=(1)
 Style=0x40000040 (DS_SETFONT|WS_CHILD)
 Class=#32770

(3) OLE drop target window?

 Parent=(2)
 Style=0x50000000 (WS_CHILD|WS_VISIBLE)
 Class=Afx:400000:b

(4) dialog control bar

 Parent=(2)
 Style=0x40000040 (DS_SETFONT|WS_CHILD)
 Class=#32770

---

Both dialog control bars (2) and (4) are constructed using
CreateDialogIndirectParamA(), WM_INITDIALOG is sent twice (nested creation).
After creation of child dialog control bar the active window/input focus is
still NULL.
Because dialog control bar (4) contains no child control at this point, no
tabstop search is performed hence the approach from bug 19052 won't work here
(use first child if no suitable control with tabstop property is found).

I returned the dialog control HWND from DIALOG_GetNextTabItem() to have at
least a control to set focus on.
It helped "PhotoStitch 3.1" from comment #1 and "WYSIWYG Web Builder 5" from
comment #18 to successfully start.

I could not find a download for bug 18880 ("unable to run program GAUSS", dupe)
to test with.
Bug 13542 "Army Builder 3.1" is still a not fixed by both, needs further
investigation.

Regards

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