]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/volume.cpp
Avoid core dumps when SetImageList is used.
[wxWidgets.git] / src / msw / volume.cpp
index c36b73379a69256f98417f9193e810efcaca2e61..f1750775a5e6635fb2598a6719e07bae85952d41 100644 (file)
@@ -17,7 +17,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "fsvolume.h"
 #endif
 
     #pragma implementation "fsvolume.h"
 #endif
 
@@ -30,7 +30,9 @@
 #if wxUSE_FSVOLUME
 
 #ifndef WX_PRECOMP
 #if wxUSE_FSVOLUME
 
 #ifndef WX_PRECOMP
-    #include "wx/icon.h"
+    #if wxUSE_GUI
+        #include "wx/icon.h"
+    #endif
     #include "wx/intl.h"
 #endif // WX_PRECOMP
 
     #include "wx/intl.h"
 #endif // WX_PRECOMP
 
@@ -42,6 +44,7 @@
 #include "wx/volume.h"
 
 #include <shellapi.h>
 #include "wx/volume.h"
 
 #include <shellapi.h>
+#include <shlobj.h>
 #include "wx/msw/missing.h"
 
 #if wxUSE_BASE
 #include "wx/msw/missing.h"
 
 #if wxUSE_BASE
@@ -287,9 +290,9 @@ static void BuildListFromNN(wxArrayString& list, NETRESOURCE* pResSrc,
 // Function: CompareFcn
 // Purpose: Used to sort the NN list alphabetically, case insensitive.
 //=============================================================================
 // Function: CompareFcn
 // Purpose: Used to sort the NN list alphabetically, case insensitive.
 //=============================================================================
-static int CompareFcn(const wxString& first, const wxString& second)
+static int CompareFcn(wxString* first, wxString* second)
 {
 {
-    return wxStricmp(first.c_str(), second.c_str());
+    return wxStricmp(first->c_str(), second->c_str());
 } // CompareFcn
 
 //=============================================================================
 } // CompareFcn
 
 //=============================================================================
@@ -402,7 +405,7 @@ wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset)
     TCHAR* buf = new TCHAR[chars+1];
 
     // Get the list of drives.
     TCHAR* buf = new TCHAR[chars+1];
 
     // Get the list of drives.
-    chars = GetLogicalDriveStrings(chars, buf);
+    GetLogicalDriveStrings(chars, buf);
 
     // Parse the list into an array, applying appropriate filters.
     TCHAR *pVol;
 
     // Parse the list into an array, applying appropriate filters.
     TCHAR *pVol;