SYNERGY-928 Wrong encoding for text copied between linux and windows

This commit is contained in:
SerhiiGadzhilov 2021-06-04 15:51:49 +03:00
parent 775c85a9e7
commit dc8694ff20
2 changed files with 11 additions and 2 deletions

View file

@ -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"));

View file

@ -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);
}
}