- Return focus to run dialog after showing the file not found messagebox. Patch by brbak <mpd000@yahoo.de>
Modified: trunk/reactos/lib/shell32/dialogs.c

Modified: trunk/reactos/lib/shell32/dialogs.c
--- trunk/reactos/lib/shell32/dialogs.c	2005-09-23 15:31:42 UTC (rev 18014)
+++ trunk/reactos/lib/shell32/dialogs.c	2005-09-23 15:42:40 UTC (rev 18015)
@@ -162,6 +162,7 @@
 
                             HeapFree(GetProcessHeap(), 0, psz);
                             SendMessageA (htxt, CB_SETEDITSEL, 0, MAKELPARAM (0, -1)) ;
+                            SetFocus(htxt);
                             return TRUE ;
                             }
                         FillList (htxt, psz) ;
@@ -217,15 +218,19 @@
                         return TRUE ;
                         }
 
-                    ofnProc (&ofn) ;
+                    if(ofnProc (&ofn))
+                       {
+                        SetFocus (GetDlgItem (hwnd, IDOK)) ;
+                        SetWindowTextA (GetDlgItem (hwnd, 12298), szFName) ;
+                        SendMessageA (GetDlgItem (hwnd, 12298), CB_SETEDITSEL, 0, MAKELPARAM (0, -1)) ;
+                        SetFocus (GetDlgItem (hwnd, IDOK)) ;
+                        }
+                    else
+                        {
+                        SetFocus(GetDlgItem(hwnd, 12288));
+                        }
 
-                    SetFocus (GetDlgItem (hwnd, IDOK)) ;
-                    SetWindowTextA (GetDlgItem (hwnd, 12298), szFName) ;
-                    SendMessageA (GetDlgItem (hwnd, 12298), CB_SETEDITSEL, 0, MAKELPARAM (0, -1)) ;
-                    SetFocus (GetDlgItem (hwnd, IDOK)) ;
-
                     FreeLibrary (hComdlg) ;
-
                     return TRUE ;
                     }
                 }