X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..43f4e852a1b2ac37c3db6a2b87315192ac549191:/src/msw/volume.cpp?ds=sidebyside diff --git a/src/msw/volume.cpp b/src/msw/volume.cpp index 35c487da01..06c454ebc9 100644 --- a/src/msw/volume.cpp +++ b/src/msw/volume.cpp @@ -32,6 +32,7 @@ #include "wx/icon.h" #endif #include "wx/intl.h" + #include "wx/log.h" #include "wx/hashmap.h" #include "wx/filefn.h" #endif // WX_PRECOMP @@ -40,6 +41,9 @@ #include "wx/dynlib.h" #include "wx/arrimpl.cpp" +// some compilers require including before so do it +// even if this is not necessary with most of them +#include "wx/msw/wrapwin.h" #include #include #include "wx/msw/missing.h" @@ -284,7 +288,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.wx_str(), flagsSet, flagsUnset&~wxFS_VOL_MOUNTED); + FilteredAdd(list, filename.t_str(), flagsSet, flagsUnset&~wxFS_VOL_MOUNTED); if (scope == RESOURCE_GLOBALNET) s_fileInfo[filename].m_flags &= ~wxFS_VOL_MOUNTED; } @@ -498,16 +502,17 @@ bool wxFSVolumeBase::Create(const wxString& name) // Display name. SHFILEINFO fi; - long rc = SHGetFileInfo(m_volName.wx_str(), 0, &fi, sizeof(fi), SHGFI_DISPLAYNAME); + long rc = SHGetFileInfo(m_volName.t_str(), 0, &fi, sizeof(fi), SHGFI_DISPLAYNAME); if (!rc) { wxLogError(_("Cannot read typename from '%s'!"), m_volName.c_str()); - return m_isOk; + return false; } m_dispName = fi.szDisplayName; // all tests passed. - return m_isOk = true; + m_isOk = true; + return true; } // Create //============================================================================= @@ -580,6 +585,7 @@ wxIcon wxFSVolume::GetIcon(wxFSIconType type) const wxCHECK_MSG( type >= 0 && (size_t)type < m_icons.GetCount(), wxNullIcon, wxT("wxFSIconType::GetIcon(): invalid icon index") ); +#ifdef __WXMSW__ // Load on demand. if (m_icons[type].IsNull()) { @@ -608,7 +614,7 @@ wxIcon wxFSVolume::GetIcon(wxFSIconType type) const } SHFILEINFO fi; - long rc = SHGetFileInfo(m_volName.wx_str(), 0, &fi, sizeof(fi), flags); + long rc = SHGetFileInfo(m_volName.t_str(), 0, &fi, sizeof(fi), flags); m_icons[type].SetHICON((WXHICON)fi.hIcon); if (!rc || !fi.hIcon) { @@ -617,6 +623,10 @@ wxIcon wxFSVolume::GetIcon(wxFSIconType type) const } return m_icons[type]; +#else + wxFAIL_MSG(wxS("Can't convert HICON to wxIcon in this port.")); + return wxNullIcon; +#endif } // GetIcon #endif // wxUSE_GUI