diff options
Diffstat (limited to 'Source/WebCore/platform/win/ClipboardWin.cpp')
-rw-r--r-- | Source/WebCore/platform/win/ClipboardWin.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/WebCore/platform/win/ClipboardWin.cpp b/Source/WebCore/platform/win/ClipboardWin.cpp index af5e3a286..ef5bb304d 100644 --- a/Source/WebCore/platform/win/ClipboardWin.cpp +++ b/Source/WebCore/platform/win/ClipboardWin.cpp @@ -355,6 +355,8 @@ ClipboardWin::ClipboardWin(ClipboardType clipboardType, const DragDataMap& dataM ClipboardWin::~ClipboardWin() { + if (m_dragImage) + m_dragImage->removeClient(this); } static bool writeURL(WCDataObject *data, const KURL& url, String title, bool withPlainText, bool withHTML) @@ -482,7 +484,7 @@ bool ClipboardWin::setData(const String& type, const String& data) return false; } -static void addMimeTypesForFormat(HashSet<String>& results, const FORMATETC& format) +static void addMimeTypesForFormat(ListHashSet<String>& results, const FORMATETC& format) { // URL and Text are provided for compatibility with IE's model if (format.cfFormat == urlFormat()->cfFormat || format.cfFormat == urlWFormat()->cfFormat) { @@ -497,9 +499,9 @@ static void addMimeTypesForFormat(HashSet<String>& results, const FORMATETC& for } // extensions beyond IE's API -HashSet<String> ClipboardWin::types() const +ListHashSet<String> ClipboardWin::types() const { - HashSet<String> results; + ListHashSet<String> results; if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) return results; @@ -523,7 +525,7 @@ HashSet<String> ClipboardWin::types() const } else { for (DragDataMap::const_iterator it = m_dragDataMap.begin(); it != m_dragDataMap.end(); ++it) { FORMATETC data; - data.cfFormat = (*it).first; + data.cfFormat = (*it).key; addMimeTypesForFormat(results, data); } } |