diff --git a/src/lib/platform/XWindowsClipboard.cpp b/src/lib/platform/XWindowsClipboard.cpp index 184a58beb..3102d612d 100644 --- a/src/lib/platform/XWindowsClipboard.cpp +++ b/src/lib/platform/XWindowsClipboard.cpp @@ -79,6 +79,8 @@ XWindowsClipboard::XWindowsClipboard(Display* display, // add converters, most desired first m_converters.push_back(new XWindowsClipboardHTMLConverter(m_display, "text/html")); + m_converters.push_back(new XWindowsClipboardHTMLConverter(m_display, + "application/x-moz-nativehtml")); m_converters.push_back(new XWindowsClipboardBMPConverter(m_display)); m_converters.push_back(new XWindowsClipboardUTF8Converter(m_display, "text/plain;charset=UTF-8")); diff --git a/src/lib/platform/XWindowsClipboardHTMLConverter.cpp b/src/lib/platform/XWindowsClipboardHTMLConverter.cpp index 2e743f7e0..fb7cbdde4 100644 --- a/src/lib/platform/XWindowsClipboardHTMLConverter.cpp +++ b/src/lib/platform/XWindowsClipboardHTMLConverter.cpp @@ -57,11 +57,18 @@ XWindowsClipboardHTMLConverter::getDataSize() const String XWindowsClipboardHTMLConverter::fromIClipboard(const String& data) const { - return Unicode::UTF8ToUTF16(data); + return data; } String XWindowsClipboardHTMLConverter::toIClipboard(const String& data) const { - return Unicode::UTF16ToUTF8(data); + if (Unicode::isUTF8(data)) + { + return data; + } + else + { + return Unicode::UTF16ToUTF8(data); + } }