Aric Stewart : comdlg32: Some applications expect the filter combo to be filled before the CustomDlg is created .

Alexandre Julliard julliard at winehq.org
Wed Oct 22 08:00:14 CDT 2008


Module: wine
Branch: master
Commit: 45a352a7734a373d7992f8387c8e2c372f6653c7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=45a352a7734a373d7992f8387c8e2c372f6653c7

Author: Aric Stewart <aric at codeweavers.com>
Date:   Tue Oct 21 13:11:23 2008 -0500

comdlg32: Some applications expect the filter combo to be filled before the CustomDlg is created.

---

 dlls/comdlg32/filedlg.c       |    7 ++++---
 dlls/comdlg32/tests/filedlg.c |   12 ++++++++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/dlls/comdlg32/filedlg.c b/dlls/comdlg32/filedlg.c
index dd47528..65d73d2 100644
--- a/dlls/comdlg32/filedlg.c
+++ b/dlls/comdlg32/filedlg.c
@@ -1388,6 +1388,10 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
       LoadStringW(COMDLG32_hInstance, IDS_SAVE_IN, buf, sizeof(buf)/sizeof(WCHAR));
       SetDlgItemTextW(hwnd, IDC_LOOKINSTATIC, buf);
   }
+
+  /* Initialize the filter combo box */
+  FILEDLG95_FILETYPE_Init(hwnd);
+
   return 0;
 }
 
@@ -1476,9 +1480,6 @@ static LRESULT FILEDLG95_FillControls(HWND hwnd, WPARAM wParam, LPARAM lParam)
   /* Initialize the Look In combo box */
   FILEDLG95_LOOKIN_Init(fodInfos->DlgInfos.hwndLookInCB);
 
-  /* Initialize the filter combo box */
-  FILEDLG95_FILETYPE_Init(hwnd);
-
   /* Browse to the initial directory */
   IShellBrowser_BrowseObject(fodInfos->Shell.FOIShellBrowser,pidlItemId, SBSP_ABSOLUTE);
 
diff --git a/dlls/comdlg32/tests/filedlg.c b/dlls/comdlg32/tests/filedlg.c
index 6cfcd17..c3ca118 100644
--- a/dlls/comdlg32/tests/filedlg.c
+++ b/dlls/comdlg32/tests/filedlg.c
@@ -207,6 +207,17 @@ cleanup:
 
 static LONG_PTR WINAPI template_hook(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam)
 {
+    if (msg == WM_INITDIALOG)
+    {
+        HWND p,cb;
+        INT sel;
+        p = GetParent(dlg);
+        ok(p!=(HWND)NULL, "Failed to get parent of template\n");
+        cb = GetDlgItem(p,0x470);
+        ok(cb!=(HWND)NULL, "Failed to get filter combobox\n");
+        sel = SendMessage(cb, CB_GETCURSEL, 0, 0);
+        ok (sel != -1, "Failed to get selection from filter listbox\n");
+    }
     if (msg == WM_NOTIFY)
     {
         if (((LPNMHDR)lParam)->code == CDN_FOLDERCHANGE)
@@ -245,6 +256,7 @@ static void test_create_view_template(void)
     ofn.Flags = OFN_ENABLEHOOK | OFN_EXPLORER| OFN_ENABLETEMPLATE;
     ofn.hInstance = GetModuleHandleW(NULL);
     ofn.lpTemplateName = "template1";
+    ofn.lpstrFilter="text\0*.txt\0All\0*\0\0";
     ret = GetOpenFileNameA(&ofn);
     ok(!ret, "GetOpenFileNameA returned %#x\n", ret);
     ret = CommDlgExtendedError();




More information about the wine-cvs mailing list