Declare SHDefExtractIcon() if it's missing from (MinGW) headers

At least the MinGW 5.3 used for AppVeyor builds doesn't declare this
function, so provide its declaration ourselves to fix MinGW build after
the recent changes.
This commit is contained in:
Vadim Zeitlin 2018-11-19 16:12:14 +01:00
parent 3169524864
commit 99247910b9

View File

@ -31,6 +31,27 @@
#define wxHAS_SHGetStockIconInfo
#endif
// MinGW headers don't always define this symbol (up to at least 5.3 version),
// so do it ourselves.
//
// Note that at least there is no need for run-time loading here, as it's
// available since XP.
#ifndef SHDefExtractIcon
#ifdef UNICODE
extern "C" HRESULT wxSTDCALL
SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags,
HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize);
#define SHDefExtractIcon SHDefExtractIconW
#else // !UNICODE
extern "C" HRESULT wxSTDCALL
SHDefExtractIconA(LPCSTR pszIconFile, int iIndex, UINT uFlags,
HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize);
#define SHDefExtractIcon SHDefExtractIconA
#endif // UNICODE/!UNICODE
#endif // !defined(SHDefExtractIcon)
namespace
{