X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4a5590939917c61194804be6cfcac6938b2bff6d..f74a73b36509260f612770de2caeb084f1857e08:/src/msw/volume.cpp diff --git a/src/msw/volume.cpp b/src/msw/volume.cpp index c69ac43707..086c3ee1d7 100644 --- a/src/msw/volume.cpp +++ b/src/msw/volume.cpp @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "fsvolume.h" -#endif - #include "wx/wxprec.h" #ifdef __BORLANDC__ @@ -29,20 +25,20 @@ #if wxUSE_FSVOLUME +#include "wx/volume.h" + #ifndef WX_PRECOMP #if wxUSE_GUI #include "wx/icon.h" #endif #include "wx/intl.h" + #include "wx/hashmap.h" #endif // WX_PRECOMP #include "wx/dir.h" -#include "wx/hashmap.h" #include "wx/dynlib.h" #include "wx/arrimpl.cpp" -#include "wx/volume.h" - #include #include #include "wx/msw/missing.h" @@ -53,7 +49,9 @@ // Dynamic library function defs. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +#if wxUSE_DYNLIB_CLASS static wxDynamicLibrary s_mprLib; +#endif typedef DWORD (WINAPI* WNetOpenEnumPtr)(DWORD, DWORD, DWORD, LPNETRESOURCE, LPHANDLE); typedef DWORD (WINAPI* WNetEnumResourcePtr)(HANDLE, LPDWORD, LPVOID, LPDWORD); @@ -147,17 +145,19 @@ static unsigned GetBasicFlags(const wxChar* filename) } //----------------------------------------------------------------------- - // The following will most likely will not modify anything not set above, + // The following most likely will not modify anything not set above, // and will not work at all for network shares or empty CD ROM drives. // But it is a good check if the Win API ever gets better about reporting // this information. //----------------------------------------------------------------------- SHFILEINFO fi; - long rc; - rc = SHGetFileInfo(filename, 0, &fi, sizeof(fi), SHGFI_ATTRIBUTES ); + long rc = SHGetFileInfo(filename, 0, &fi, sizeof(fi), SHGFI_ATTRIBUTES); if (!rc) { - wxLogError(_("Cannot read typename from '%s'!"), filename); + // this error is not fatal, so don't show a message to the user about + // it, otherwise it would appear every time a generic directory picker + // dialog is used and there is a connected network drive + wxLogLastError(_T("SHGetFileInfo")); } else { @@ -264,7 +264,7 @@ static void BuildListFromNN(wxArrayString& list, NETRESOURCE* pResSrc, { wxString filename(pRes->lpRemoteName); - if (filename.Len()) + if (!filename.empty()) { if (filename.Last() != '\\') filename.Append('\\'); @@ -382,6 +382,7 @@ wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset) { ::InterlockedExchange(&s_cancelSearch, FALSE); // reset +#if wxUSE_DYNLIB_CLASS if (!s_mprLib.IsLoaded() && s_mprLib.Load(_T("mpr.dll"))) { #ifdef UNICODE @@ -393,6 +394,7 @@ wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset) #endif s_pWNetCloseEnum = (WNetCloseEnumPtr)s_mprLib.GetSymbol(_T("WNetCloseEnum")); } +#endif wxArrayString list;