- bool success = (m_dialogStyle & wxSAVE ? GetSaveFileName(&of)
- : GetOpenFileName(&of)) != 0;
-
- DWORD errCode = CommDlgExtendedError();
-
- // GetOpenFileName will always change the current working directory on
- // (according to MSDN) "Windows NT 4.0/2000/XP" because the flag
- // OFN_NOCHANGEDIR has no effect. If the user did not specify wxCHANGE_DIR
- // let's restore the current working directory to what it was before the
- // dialog was shown (assuming this behavior extends to Windows Server 2003
- // seems safe).
- if ( success &&
- (msw_flags & OFN_NOCHANGEDIR) &&
- wxGetOsVersion() == wxWINDOWS_NT )
- {
- wxSetWorkingDirectory(cwdOrig);
- }