http://bugs.winehq.com/show_bug.cgi?id=961
Summary: X11 Window parenting Product: Wine Version: CVS Platform: Other OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-x11driver AssignedTo: wine-bugs@winehq.com ReportedBy: tkujala@lut.fi
DBMGUi.exe, which is a Visual Basic 6 application uses forms to present dialogs on screen. Under wine these dialogs do not receive any mouse input and only partial keyboard input. Also if a form activated with ShowModal fuction opens another dialog box, it will not even display.
After debugging I found out that VB6 (or wine?) reparents (through X11DRV_SetParent) these dialogs to the main form. Under wine this means that these windows become subwindows of the main form which firstly means that these windows will never become managed if managed mode is set to "yes". Also this means that they will not get mouse input (because dbmgui (or vb6?)) disables the main window when form is displayed and therefore WindowFromPoint-function will never return anything. And finally this means that all these forms clip incorrectly to their parent window, and may then be completely invisible because they are created in desktop coordinates but are actually a child of a form whose coordinates are not desktop coordinates.
These forms seemed to have only WS_CLIPCHILDREN+WS_MAXIMIZEBOX+0x80 as style and WS_EX_DLGMODALFRAME as ExStyle.
I was able to continue my quest with dbmgui by forcing WS_EX_DLGMODALFRAME windows to be child of the root window and then prohibiting X11_SetParent to set new parent for windows that have WS_EX_DLGMODALFRAME set.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://bugs.winehq.com/show_bug.cgi?id=961. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.