diff options
Diffstat (limited to 'kio')
-rw-r--r-- | kio/kio/kfileitem.cpp | 19 | ||||
-rw-r--r-- | kio/kio/kurifilter.cpp | 19 |
2 files changed, 16 insertions, 22 deletions
diff --git a/kio/kio/kfileitem.cpp b/kio/kio/kfileitem.cpp index 6207e66b9..40927f0cf 100644 --- a/kio/kio/kfileitem.cpp +++ b/kio/kio/kfileitem.cpp @@ -658,17 +658,6 @@ TQPixmap KFileItem::pixmap( int _size, int _state ) const icon_size = _size; icon = libr_icon_geticon_bysize(handle, icon_size); - if(icon == NULL) - { - // Try loading the first icon as fallback - icon = libr_icon_geticon_byid(handle, 0); - } - if(icon == NULL) - { - kdWarning() << "failed to obtain ELF icon: " << libr_errmsg() << endl; - libr_close(handle); - return p; - } // See if the embedded icon name matches any icon file names already on the system // If it does, use the system icon instead of the embedded one @@ -678,10 +667,18 @@ TQPixmap KFileItem::pixmap( int _size, int _state ) const if(!get_iconlist(handle, &icons)) { // Failed to obtain a list of ELF icons + kdWarning() << "failed to obtain ELF icon: " << libr_errmsg() << endl; + libr_close(handle); + return p; } else { while((entry = get_nexticon(&icons, entry)) != NULL) { + if(icon == NULL) + { + // Try loading this icon as fallback + icon = libr_icon_geticon_byname(handle, entry->name); + } if (KGlobal::iconLoader()->iconPath(entry->name, 0, true) != "") { iconresnamefound = 1; p = DesktopIcon( entry->name, _size, _state ); diff --git a/kio/kio/kurifilter.cpp b/kio/kio/kurifilter.cpp index d0f6425ad..102d83166 100644 --- a/kio/kio/kurifilter.cpp +++ b/kio/kio/kurifilter.cpp @@ -205,17 +205,6 @@ TQString KURIFilterData::iconName() if (libr_can_continue == 1) { icon_size = 32; // FIXME: Is this a reasonable size request for all possible usages of kurifilter? icon = libr_icon_geticon_bysize(handle, icon_size); - if(icon == NULL) - { - // Try loading the first icon as fallback - icon = libr_icon_geticon_byid(handle, 0); - } - if(icon == NULL) - { - kdWarning() << "failed to obtain ELF icon: " << libr_errmsg() << endl; - libr_close(handle); - libr_can_continue = 0; - } if (libr_can_continue == 1) { // See if the embedded icon name matches any icon file names already on the system @@ -226,10 +215,18 @@ TQString KURIFilterData::iconName() if(!get_iconlist(handle, &icons)) { // Failed to obtain a list of ELF icons + kdWarning() << "failed to obtain ELF icon: " << libr_errmsg() << endl; + libr_close(handle); + libr_can_continue = 0; } else { while((entry = get_nexticon(&icons, entry)) != NULL) { + if(icon == NULL) + { + // Try loading this icon as fallback + icon = libr_icon_geticon_byname(handle, entry->name); + } if (KGlobal::iconLoader()->iconPath(entry->name, 0, true) != "") { iconresnamefound = 1; m_strIconName = entry->name; |