22 * ROM Properties Page shell extension. (Win32) *
33 * RP_ShellIconOverlayIdentifier.cpp: IShellIconOverlayIdentifier *
44 * *
5- * Copyright (c) 2016-2025 by David Korth. *
5+ * Copyright (c) 2016-2026 by David Korth. *
66 * SPDX-License-Identifier: GPL-2.0-or-later *
77 ***************************************************************************/
88
@@ -16,8 +16,9 @@ using namespace LibRpBase;
1616using namespace LibRpFile ;
1717using namespace LibRomData ;
1818
19- // C++ STL classes.
19+ // C++ STL classes
2020using std::string;
21+ using std::unique_ptr;
2122
2223// CLSID
2324const CLSID CLSID_RP_ShellIconOverlayIdentifier =
@@ -32,20 +33,12 @@ RP_ShellIconOverlayIdentifier_Private::RP_ShellIconOverlayIdentifier_Private()
3233#if 0
3334 : romData(nullptr)
3435#endif
35- : hShell32_dll(nullptr )
36- , pfnSHGetStockIconInfo(nullptr )
36+ : pfnSHGetStockIconInfo(nullptr )
3737{
3838 // Get SHGetStockIconInfo().
39- hShell32_dll = LoadLibraryEx (_T (" shell32.dll" ), nullptr , LOAD_LIBRARY_SEARCH_SYSTEM32);
39+ hShell32_dll. reset ( LoadLibraryEx (_T (" shell32.dll" ), nullptr , LOAD_LIBRARY_SEARCH_SYSTEM32) );
4040 if (hShell32_dll) {
41- pfnSHGetStockIconInfo = (pfnSHGetStockIconInfo_t)GetProcAddress (hShell32_dll, " SHGetStockIconInfo" );
42- }
43- }
44-
45- RP_ShellIconOverlayIdentifier_Private::~RP_ShellIconOverlayIdentifier_Private ()
46- {
47- if (hShell32_dll) {
48- FreeLibrary (hShell32_dll);
41+ pfnSHGetStockIconInfo = (pfnSHGetStockIconInfo_t)GetProcAddress (hShell32_dll.get (), " SHGetStockIconInfo" );
4942 }
5043}
5144
0 commit comments