summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2020-08-05 20:48:08 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-10-21 08:47:27 +0000
commitd9acc25af39a9ae333a65657dd10201ce70187ab (patch)
tree0b39d4dcda98b8f0a7921565a66fc96d3754c2d4 /src/plugins
parent495e4c6ad26142764042973914c3c928185f4781 (diff)
downloadqtbase-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.cpp22
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());
}
}