From 870d9b4cfe20281a7203a0b0387eb9f8dfeb38c6 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 10 Nov 2014 23:48:40 +0000 Subject: [PATCH] Fix size of the icon returned from wxFSVolume::GetIcon(). Calling SetHICON() is not enough, the icon size already needs to be set or, even better, CreateFromHICON(), which does both atomically, should be used. Closes #16672. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/volume.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/msw/volume.cpp b/src/msw/volume.cpp index 2b38bc7310..eb639084f4 100644 --- a/src/msw/volume.cpp +++ b/src/msw/volume.cpp @@ -614,11 +614,14 @@ wxIcon wxFSVolume::GetIcon(wxFSIconType type) const SHFILEINFO fi; long rc = SHGetFileInfo(m_volName.t_str(), 0, &fi, sizeof(fi), flags); - m_icons[type].SetHICON((WXHICON)fi.hIcon); if (!rc || !fi.hIcon) { wxLogError(_("Cannot load icon from '%s'."), m_volName.c_str()); } + else + { + m_icons[type].CreateFromHICON((WXHICON)fi.hIcon); + } } return m_icons[type];