summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandclipboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/qwaylandclipboard.cpp')
-rw-r--r--src/client/qwaylandclipboard.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/client/qwaylandclipboard.cpp b/src/client/qwaylandclipboard.cpp
index c40f023b5..355a7163a 100644
--- a/src/client/qwaylandclipboard.cpp
+++ b/src/client/qwaylandclipboard.cpp
@@ -86,6 +86,10 @@ void QWaylandClipboard::setMimeData(QMimeData *data, QClipboard::Mode mode)
if (!inputDevice || !inputDevice->dataDevice())
return;
+ static const QString plain = QStringLiteral("text/plain");
+ static const QString utf8 = QStringLiteral("text/plain;charset=utf-8");
+ if (data && data->hasFormat(plain) && !data->hasFormat(utf8))
+ data->setData(utf8, data->data(plain));
inputDevice->dataDevice()->setSelectionSource(data ? new QWaylandDataSource(mDisplay->dndSelectionHandler(), data) : 0);
emitChanged(mode);