]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/volume.cpp
include jconfig.vc under OS/2 too
[wxWidgets.git] / src / msw / volume.cpp
index 3a1fa48ec11c9c172ddb824261e33d47a09ae7ac..fb471ddf5ff157dc25cc79c379151b381345e9ef 100644 (file)
@@ -25,8 +25,9 @@
 
 #if wxUSE_FSVOLUME
 
+#include "wx/volume.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/msw/missing.h"
     #if wxUSE_GUI
         #include "wx/icon.h"
     #endif
 #include "wx/dynlib.h"
 #include "wx/arrimpl.cpp"
 
-#include "wx/volume.h"
-
 #include <shellapi.h>
 #include <shlobj.h>
+#include "wx/msw/missing.h"
 
 #if wxUSE_BASE
 
@@ -151,11 +151,13 @@ static unsigned GetBasicFlags(const wxChar* filename)
     // 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
     {
@@ -270,7 +272,7 @@ static void BuildListFromNN(wxArrayString& list, NETRESOURCE* pResSrc,
                         // The filter function will not know mounted from unmounted, and neither do we unless
                         // we are iterating using RESOURCE_CONNECTED, in which case they all are mounted.
                         // Volumes on disconnected servers, however, will correctly show as unmounted.
-                        FilteredAdd(list, filename, flagsSet, flagsUnset&~wxFS_VOL_MOUNTED);
+                        FilteredAdd(list, filename.wx_str(), flagsSet, flagsUnset&~wxFS_VOL_MOUNTED);
                         if (scope == RESOURCE_GLOBALNET)
                             s_fileInfo[filename].m_flags &= ~wxFS_VOL_MOUNTED;
                     }
@@ -484,7 +486,7 @@ bool wxFSVolumeBase::Create(const wxString& name)
 
     // Display name.
     SHFILEINFO fi;
-    long rc = SHGetFileInfo(m_volName, 0, &fi, sizeof(fi), SHGFI_DISPLAYNAME);
+    long rc = SHGetFileInfo(m_volName.wx_str(), 0, &fi, sizeof(fi), SHGFI_DISPLAYNAME);
     if (!rc)
     {
         wxLogError(_("Cannot read typename from '%s'!"), m_volName.c_str());
@@ -594,7 +596,7 @@ wxIcon wxFSVolume::GetIcon(wxFSIconType type) const
         }
 
         SHFILEINFO fi;
-        long rc = SHGetFileInfo(m_volName, 0, &fi, sizeof(fi), flags);
+        long rc = SHGetFileInfo(m_volName.wx_str(), 0, &fi, sizeof(fi), flags);
         m_icons[type].SetHICON((WXHICON)fi.hIcon);
         if (!rc || !fi.hIcon)
             wxLogError(_("Cannot load icon from '%s'."), m_volName.c_str());