]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dirctrlg.cpp
Applied patch #886192: "Minor fix to XRC contrib"; Minor cosmetic cleanups.
[wxWidgets.git] / src / generic / dirctrlg.cpp
index a8897cdf8c6eb996d91dd940f4069b0067b389e1..660128edf2d91223705608e6eaa8ba164ae15e15 100644 (file)
@@ -1641,9 +1641,13 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime)
 
     wxIconLocation iconLoc;
     wxIcon ic;
-    if ( ft && ft->GetIcon(&iconLoc) )
+
     {
-        ic = wxIcon(iconLoc);
+        wxLogNull logNull;
+        if ( ft && ft->GetIcon(&iconLoc) )
+        {
+            ic = wxIcon(iconLoc);
+        }
     }
 
     delete ft;
@@ -1658,6 +1662,13 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime)
     wxBitmap bmp;
     bmp.CopyFromIcon(ic);
 
+    if ( !bmp.Ok() )
+    {
+        int newid = file;
+        m_HashTable->Put(extension, new wxFileIconEntry(newid));
+        return newid;
+    }
+
     int id = m_smallImageList->GetImageCount();
     if ((bmp.GetWidth() == 16) && (bmp.GetHeight() == 16))
         m_smallImageList->Add(bmp);