[PATCH] shell32: RunFileDlg: allow custom icon

Mikołaj Zalewski mikolaj at zalewski.pl
Tue Jul 8 09:05:50 CDT 2008


---
 dlls/shell32/dialogs.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/shell32/dialogs.c b/dlls/shell32/dialogs.c
index 0e858b8..b64d306 100644
--- a/dlls/shell32/dialogs.c
+++ b/dlls/shell32/dialogs.c
@@ -139,9 +139,12 @@ static INT_PTR CALLBACK RunDlgProc (HWND hwnd, UINT message, WPARAM wParam, LPAR
             if (prfdp->uFlags & RFF_CALCDIRECTORY)
                 FIXME("RFF_CALCDIRECTORY not supported\n");
 
-            SetClassLongPtrW (hwnd, GCLP_HICON, (LPARAM)prfdp->hIcon) ;
-            SendMessageW (GetDlgItem (hwnd, IDC_RUNDLG_ICON), STM_SETICON,
-                          (WPARAM)LoadIconW (NULL, (LPCWSTR)IDI_WINLOGO), 0);
+            if (prfdp->hIcon == NULL)
+                prfdp->hIcon = LoadIconW(NULL, (LPCWSTR)IDI_WINLOGO);
+            SendMessageW(hwnd, WM_SETICON, ICON_BIG, (LPARAM)prfdp->hIcon);
+            SendMessageW(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)prfdp->hIcon);
+            SendMessageW(GetDlgItem(hwnd, IDC_RUNDLG_ICON), STM_SETICON, (WPARAM)prfdp->hIcon, 0);
+
             FillList (GetDlgItem (hwnd, IDC_RUNDLG_EDITPATH), NULL, (prfdp->uFlags & RFF_NODEFAULT) == 0) ;
             SetFocus (GetDlgItem (hwnd, IDC_RUNDLG_EDITPATH)) ;
             return TRUE ;
-- 
1.5.4


--------------010402050608050602040503--



More information about the wine-patches mailing list