Hello, Maxime Bellenge reported that my recent commdlg changes broke WinHex (www.winhex.com) Changelog: Dmitry Timoshkov <dmitry@codeweavers.com> Some applications depend on the order of initialization steps of the custom file open dialog. --- cvs/hq/wine/dlls/commdlg/filedlg95.c Tue Jul 29 18:07:41 2003 +++ wine/dlls/commdlg/filedlg95.c Thu Aug 21 17:56:03 2003 @@ -649,9 +649,9 @@ static void ArrangeCtrlPositions(HWND hw /* finally use fixed parent size */ rectParent.bottom -= help_fixup; - /* set the size of the child dialog */ - SetWindowPos(hwndChildDlg, HWND_BOTTOM, - 0, 0, rectParent.right, rectParent.bottom, SWP_NOACTIVATE); + /* save the size of the parent's client area */ + rectChild.right = rectParent.right; + rectChild.bottom = rectParent.bottom; /* set the size of the parent dialog */ AdjustWindowRectEx(&rectParent, GetWindowLongW(hwndParentDlg, GWL_STYLE), @@ -661,6 +661,10 @@ static void ArrangeCtrlPositions(HWND hw rectParent.right - rectParent.left, rectParent.bottom - rectParent.top, SWP_NOMOVE | SWP_NOZORDER); + + /* set the size of the child dialog */ + SetWindowPos(hwndChildDlg, HWND_BOTTOM, + 0, 0, rectChild.right, rectChild.bottom, SWP_NOACTIVATE); } INT_PTR CALLBACK FileOpenDlgProcUserTemplate(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -930,10 +934,12 @@ INT_PTR CALLBACK FileOpenDlgProc95(HWND CreateTemplateDialog((FileOpenDlgInfos *)lParam, hwnd); FILEDLG95_InitControls(hwnd); - FILEDLG95_FillControls(hwnd, wParam, lParam); + if (fodInfos->DlgInfos.hwndCustomDlg) ArrangeCtrlPositions(fodInfos->DlgInfos.hwndCustomDlg, hwnd, (fodInfos->ofnInfos->Flags & (OFN_HIDEREADONLY | OFN_SHOWHELP)) == OFN_HIDEREADONLY); + + FILEDLG95_FillControls(hwnd, wParam, lParam); SendCustomDlgNotificationMessage(hwnd,CDN_INITDONE); SendCustomDlgNotificationMessage(hwnd,CDN_FOLDERCHANGE);