diff options
Diffstat (limited to 'WebCore/platform/graphics/win/IconWin.cpp')
| -rw-r--r-- | WebCore/platform/graphics/win/IconWin.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/WebCore/platform/graphics/win/IconWin.cpp b/WebCore/platform/graphics/win/IconWin.cpp index 61f1fd3..d71ca00 100644 --- a/WebCore/platform/graphics/win/IconWin.cpp +++ b/WebCore/platform/graphics/win/IconWin.cpp @@ -47,20 +47,22 @@ Icon::~Icon() DestroyIcon(m_hIcon); } -PassRefPtr<Icon> Icon::createIconForFile(const String& filename) +PassRefPtr<Icon> Icon::createIconForFiles(const Vector<String>& filenames) { - SHFILEINFO sfi; - memset(&sfi, 0, sizeof(sfi)); - - String tmpFilename = filename; - if (!SHGetFileInfo(tmpFilename.charactersWithNullTermination(), 0, &sfi, sizeof(sfi), SHGFI_ICON | SHGFI_SHELLICONSIZE | SHGFI_SMALLICON)) + if (filenames.isEmpty()) return 0; - return adoptRef(new Icon(sfi.hIcon)); -} + if (filenames.size() == 1) { + SHFILEINFO sfi; + memset(&sfi, 0, sizeof(sfi)); + + String tmpFilename = filenames[0]; + if (!SHGetFileInfo(tmpFilename.charactersWithNullTermination(), 0, &sfi, sizeof(sfi), SHGFI_ICON | SHGFI_SHELLICONSIZE | SHGFI_SMALLICON)) + return 0; + + return adoptRef(new Icon(sfi.hIcon)); + } -PassRefPtr<Icon> Icon::createIconForFiles(const Vector<String>&) -{ #if PLATFORM(WINCE) return 0; #else |
