X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b600ed13625645eb985acf49eecd06fd111eb061..ea28b8853b8748ba94b71dd67c9d216db9ef0742:/src/generic/dirctrlg.cpp diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index 3745b47e4b..e6a1c6822e 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -1529,8 +1529,17 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime) wxFileType *ft = (mime.IsEmpty()) ? wxTheMimeTypesManager -> GetFileTypeFromExtension(extension) : wxTheMimeTypesManager -> GetFileTypeFromMimeType(mime); + + wxIconLocation iconLoc; wxIcon ic; - if (ft == NULL || (!ft->GetIcon(&ic)) || (!ic.Ok())) + if ( ft && ft->GetIcon(&iconLoc) ) + { + ic = wxIcon(iconLoc); + } + + delete ft; + + if ( !ic.Ok() ) { int newid = file; m_HashTable->Put(extension, new wxFileIconEntry(newid)); @@ -1541,8 +1550,6 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime) tmpBmp.CopyFromIcon(ic); wxImage img = tmpBmp.ConvertToImage(); - delete ft; - int id = m_smallImageList->GetImageCount(); if (img.GetWidth() == 16 && img.GetHeight() == 16) m_smallImageList->Add(wxBitmap(img));