X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e7fa3a63f2e36bc5b89b7cd8fd85ede84cd01ad..7b35aa40a06a160ae4a8650c5820880a020697e3:/src/msw/volume.cpp diff --git a/src/msw/volume.cpp b/src/msw/volume.cpp index 2c04d2952f..e1b4db737d 100644 --- a/src/msw/volume.cpp +++ b/src/msw/volume.cpp @@ -41,8 +41,15 @@ #include "wx/volume.h" -// Win32 headers -#include +#include + +#ifndef SHGetFileInfo +#ifdef UNICODE +#define SHGetFileInfo SHGetFileInfoW +#else +#define SHGetFileInfo SHGetFileInfoA +#endif +#endif #ifndef SHGFI_ATTRIBUTES #define SHGFI_ATTRIBUTES 2048 @@ -68,6 +75,14 @@ #define SHGFI_SMALLICON 1 #endif +#ifndef SHGFI_SHELLICONSIZE + #define SHGFI_SHELLICONSIZE 4 +#endif + +#ifndef SHGFI_OPENICON + #define SHGFI_OPENICON 2 +#endif + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Dynamic library function defs. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -91,6 +106,15 @@ struct FileInfo : public wxObject { FileInfo(unsigned flag=0, wxFSVolumeKind type=wxFS_VOL_OTHER) : m_flags(flag), m_type(type) {} + + FileInfo(const FileInfo& other) { *this = other; } + FileInfo& operator=(const FileInfo& other) + { + m_flags = other.m_flags; + m_type = other.m_type; + return *this; + } + unsigned m_flags; wxFSVolumeKind m_type; }; @@ -101,7 +125,8 @@ static FileInfoMap s_fileInfo(25); // Other initialization. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #if wxUSE_GUI -WX_DEFINE_OBJARRAY(wxIconArray); +// already in wx/iconbndl.h +// WX_DEFINE_OBJARRAY(wxIconArray); #endif //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -247,8 +272,8 @@ static void BuildListFromNN(wxArrayString& list, NETRESOURCE* pResSrc, //---------------------------------------------------------------------- if (rc = s_pWNetOpenEnum(scope, RESOURCETYPE_DISK, 0, pResSrc, &hEnum), rc == NO_ERROR) { - unsigned long count = 1; - unsigned long size = 256; + DWORD count = 1; + DWORD size = 256; NETRESOURCE* pRes = (NETRESOURCE*)malloc(size); memset(pRes, 0, sizeof(NETRESOURCE)); while (rc = s_pWNetEnumResource(hEnum, &count, pRes, &size), rc == NO_ERROR || rc == ERROR_MORE_DATA)