if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
entry->_icon_id = ICID_FOLDER;
/* else if (scan_flags & SCAN_EXTRACT_ICONS)
- try {
- entry->extract_icon(big_icons);
- } catch(COMException&) {
- // ignore unexpected exceptions while extracting icons
- }
+ entry->safe_extract_icon(large_icons);
*/
last = entry;
} while(FindNextFile(hFind, &w32fd));
if (!(entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ||
!(attribs & SFGAO_FILESYSTEM)) {
/* if (scan_flags & SCAN_EXTRACT_ICONS)
- try {
- entry->extract_icon(big_icons);
- } catch(COMException&) {
- // ignore unexpected exceptions while extracting icons
- }
+ entry->extract_icon(large_icons);
*/ } else if (entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
entry->_icon_id = ICID_FOLDER;
else
return NULL;
}
-int ShellDirectory::extract_icons(bool big_icons)
+int ShellDirectory::extract_icons(ICONCACHE_FLAGS flags)
{
int cnt = 0;
for(Entry*entry=_down; entry; entry=entry->_next)
if (entry->_icon_id == ICID_UNKNOWN) {
- entry->extract_icon(big_icons);
+ entry->_icon_id = entry->extract_icon(flags);
if (entry->_icon_id != ICID_NONE)
++cnt;