From 9ee399d7ccc68c22e56cfb25de2567d1851a27fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Drahom=C3=ADr=20Karch=C5=88=C3=A1k?=
 <drahomir.karchnak@nic.cz>
Date: Fri, 5 Aug 2016 11:22:57 +0200
Subject: [PATCH] #433 Fixed crashing sync dialog on IOS devices.

---
 .../ui/dialog/components/TextFiledDialogComponent.java   | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/components/TextFiledDialogComponent.java b/core/src/cz/nic/tablexia/util/ui/dialog/components/TextFiledDialogComponent.java
index dea34d893..39b64976f 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/components/TextFiledDialogComponent.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/components/TextFiledDialogComponent.java
@@ -184,7 +184,7 @@ public class TextFiledDialogComponent extends TablexiaDialogComponentAdapter {
         timerSet = true;
     }
 
-    private void repositionDialog(DialogPosition dialogPosition) {
+    private void repositionDialog(final DialogPosition dialogPosition) {
         TablexiaComponentDialog dialog = getDialog();
         Stage stage = getStage();
         if(dialog == null || (stage == null)) return;
@@ -194,7 +194,12 @@ public class TextFiledDialogComponent extends TablexiaDialogComponentAdapter {
                 TablexiaSettings.getViewportBottomY(stage) + TablexiaSettings.getViewportHeight(stage) * dialogPosition.getShift() - dialog.getOutterHeight() * dialogPosition.getShift()
         );
 
-        Gdx.input.setOnscreenKeyboardVisible(dialogPosition.isShowKeyboard());
+        Gdx.app.postRunnable(new Runnable() {
+            @Override
+            public void run() {
+                Gdx.input.setOnscreenKeyboardVisible(dialogPosition.isShowKeyboard());
+            }
+        });
     }
 
     private enum DialogPosition {
-- 
GitLab