diff options
author | Paul Olav Tvete <paul.tvete@digia.com> | 2014-09-01 13:27:23 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@digia.com> | 2014-09-02 14:13:14 +0200 |
commit | b9a7cedb6ebd85f249f54c8688943346c7a98260 (patch) | |
tree | fe45027e6fde7a30807bcfbc4a6c963a5b6da6f0 /src/android | |
parent | f6c36917f15fda0066bf996c1d36ef6dace9f404 (diff) |
Android: Avoid deadlock in Qt.inputMethod.visible
A blocking isSoftwareKeyboardVisible() is a deadlock
waiting to happen: when the android input method performs
blocking metacalls from the android thread to the GUI
thread all the time, we cannot block the GUI thread
waiting for the android thread.
Task-number: QTBUG-40750
Change-Id: I2490897b0f65e0d92214907e239b10b372d949dd
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Diffstat (limited to 'src/android')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java | 5 | ||||
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/QtNative.java | 19 |
2 files changed, 0 insertions, 24 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java index 8e8b50f737..9e067f14c5 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java @@ -361,11 +361,6 @@ public class QtActivityDelegate }); } - public boolean isSoftwareKeyboardVisible() - { - return m_keyboardIsVisible; - } - String getAppIconSize(Activity a) { int size = a.getResources().getDimensionPixelSize(android.R.dimen.app_icon_size); diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java index 0107cff23a..0e2af9a192 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java @@ -397,25 +397,6 @@ public class QtNative }); } - private static boolean isSoftwareKeyboardVisible() - { - final Semaphore semaphore = new Semaphore(0); - final Boolean[] ret = {false}; - runAction(new Runnable() { - @Override - public void run() { - ret[0] = m_activityDelegate.isSoftwareKeyboardVisible(); - semaphore.release(); - } - }); - try { - semaphore.acquire(); - } catch (Exception e) { - e.printStackTrace(); - } - return ret[0]; - } - private static void setFullScreen(final boolean fullScreen) { runAction(new Runnable() { |