X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..4760fa91097407e9967efd21f90ef04d69e5bb9c:/src/msw/mimetype.cpp diff --git a/src/msw/mimetype.cpp b/src/msw/mimetype.cpp index a453c99079..6f488946c5 100644 --- a/src/msw/mimetype.cpp +++ b/src/msw/mimetype.cpp @@ -6,7 +6,7 @@ // Created: 23.09.98 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows license (part of wxExtra library) +// Licence: wxWindows licence (part of wxExtra library) ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -336,7 +336,8 @@ bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const bool wxFileTypeImpl::GetIcon(wxIcon *icon, wxString *iconFile, - int *iconIndex) const + int *iconIndex, + int iconSize) const { #if wxUSE_GUI wxString strIconKey; @@ -367,7 +368,12 @@ bool wxFileTypeImpl::GetIcon(wxIcon *icon, // here we need C based counting! int nIndex = wxAtoi(strIndex); - HICON hIcon = ExtractIcon(GetModuleHandle(NULL), strExpPath, nIndex); + HICON hIcon, hIconLarge, hIconSmall; + ExtractIconEx(strExpPath, nIndex, &hIconLarge, &hIconSmall, 1); + + hIcon = (iconSize == wxICON_LARGE) ? hIconLarge : hIconSmall; + + switch ( (int)hIcon ) { case 0: // means no icons were found case 1: // means no such file or it wasn't a DLL/EXE/OCX/ICO/...