diff options
author | Christian Strømme <christian.stromme@qt.io> | 2020-08-05 20:48:08 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-10-21 08:47:27 +0000 |
commit | d9acc25af39a9ae333a65657dd10201ce70187ab (patch) | |
tree | 0b39d4dcda98b8f0a7921565a66fc96d3754c2d4 /src/plugins | |
parent | 495e4c6ad26142764042973914c3c928185f4781 (diff) | |
download | qtbase-d9acc25af39a9ae333a65657dd10201ce70187ab.tar.gz |
Android: Fix clipboard issue with urls
Both hasUrls() and hasText() can return true when containing urls, as
hasText() checks hasUrls() as well.
Fixes: QTBUG-85773
Change-Id: I91a34f151e7de17ab5b9a2f24bc0b6e6c097d7f9
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 5f9591bde3f3a67c566f3aa3571b57c82bd59cc5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/android/androidjniclipboard.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/plugins/platforms/android/androidjniclipboard.cpp b/src/plugins/platforms/android/androidjniclipboard.cpp index 7b2c2c0443..b973fbe7d8 100644 --- a/src/plugins/platforms/android/androidjniclipboard.cpp +++ b/src/plugins/platforms/android/androidjniclipboard.cpp @@ -35,18 +35,6 @@ namespace QtAndroidClipboard void setClipboardMimeData(QMimeData *data) { clearClipboardData(); - if (data->hasText()) { - QJniObject::callStaticMethod<void>(applicationClass(), - "setClipboardText", "(Ljava/lang/String;)V", - QJniObject::fromString(data->text()).object()); - } - if (data->hasHtml()) { - QJniObject::callStaticMethod<void>(applicationClass(), - "setClipboardHtml", - "(Ljava/lang/String;Ljava/lang/String;)V", - QJniObject::fromString(data->text()).object(), - QJniObject::fromString(data->html()).object()); - } if (data->hasUrls()) { QList<QUrl> urls = data->urls(); for (const auto &u : qAsConst(urls)) { @@ -55,6 +43,16 @@ namespace QtAndroidClipboard "(Ljava/lang/String;)V", QJniObject::fromString(u.toEncoded()).object()); } + } else if (data->hasText()) { // hasText || hasUrls, so the order matter here. + QJniObject::callStaticMethod<void>(applicationClass(), + "setClipboardText", "(Ljava/lang/String;)V", + QJniObject::fromString(data->text()).object()); + } else if (data->hasHtml()) { + QJniObject::callStaticMethod<void>(applicationClass(), + "setClipboardHtml", + "(Ljava/lang/String;Ljava/lang/String;)V", + QJniObject::fromString(data->text()).object(), + QJniObject::fromString(data->html()).object()); } } |