diff --git a/ChangeLog b/ChangeLog index 1ced2d11a..5507a2d00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ Bug fixes: - #7012 Fix natural horizontal scrolling on Mac client - #6997 Allow Windows to go to sleep depending on system preferences - #7001 Add option to prevent computer from going to sleep +- #7029 Wrong encoding for text copied between linux and windows Enhancements: - #6998 Remove functionality related to the screen saver synchronisation 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); + } }