From dc8694ff20d5faa006b177d6f8169d3ac99d1e11 Mon Sep 17 00:00:00 2001 From: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com> Date: Fri, 4 Jun 2021 15:51:49 +0300 Subject: [PATCH 1/2] SYNERGY-928 Wrong encoding for text copied between linux and windows --- src/lib/platform/XWindowsClipboard.cpp | 2 ++ src/lib/platform/XWindowsClipboardHTMLConverter.cpp | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) 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); + } } From 90fc7af0249e1e663118f186f10696974e9da538 Mon Sep 17 00:00:00 2001 From: Serhii Hadzhilov Date: Fri, 4 Jun 2021 16:00:29 +0300 Subject: [PATCH 2/2] SYNERGY-928 Update ChangeLog --- ChangeLog | 1 + 1 file changed, 1 insertion(+) 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