aboutsummaryrefslogtreecommitdiff
path: root/src/gui/guiConfirmRegistration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/guiConfirmRegistration.cpp')
-rw-r--r--src/gui/guiConfirmRegistration.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/gui/guiConfirmRegistration.cpp b/src/gui/guiConfirmRegistration.cpp
index 58ac42740..4a798c39b 100644
--- a/src/gui/guiConfirmRegistration.cpp
+++ b/src/gui/guiConfirmRegistration.cpp
@@ -73,7 +73,11 @@ void GUIConfirmRegistration::regenerateGui(v2u32 screensize)
/*
Calculate new sizes and positions
*/
+#ifdef __ANDROID__
+ const float s = m_gui_scale * porting::getDisplayDensity() / 2;
+#else
const float s = m_gui_scale;
+#endif
DesiredRect = core::rect<s32>(
screensize.X / 2 - 600 * s / 2,
screensize.Y / 2 - 360 * s / 2,
@@ -188,8 +192,7 @@ void GUIConfirmRegistration::acceptInput()
bool GUIConfirmRegistration::processInput()
{
- std::wstring m_password_ws = narrow_to_wide(m_password);
- if (m_password_ws != m_pass_confirm) {
+ if (utf8_to_wide(m_password) != m_pass_confirm) {
gui::IGUIElement *e = getElementFromId(ID_message);
if (e)
e->setVisible(true);
@@ -222,7 +225,7 @@ bool GUIConfirmRegistration::OnEvent(const SEvent &event)
if (event.GUIEvent.EventType == gui::EGET_ELEMENT_FOCUS_LOST && isVisible()) {
if (!canTakeFocus(event.GUIEvent.Element)) {
- dstream << "GUIConfirmRegistration: Not allowing focus change."
+ infostream << "GUIConfirmRegistration: Not allowing focus change."
<< std::endl;
// Returning true disables focus change
return true;
@@ -257,12 +260,19 @@ bool GUIConfirmRegistration::getAndroidUIInput()
if (!hasAndroidUIInput() || m_jni_field_name != "password")
return false;
- std::string text = porting::getInputDialogValue();
- gui::IGUIElement *e = getElementFromId(ID_confirmPassword);
- if (e)
- e->setText(utf8_to_wide(text).c_str());
+ // still waiting
+ if (porting::getInputDialogState() == -1)
+ return true;
m_jni_field_name.clear();
+
+ gui::IGUIElement *e = getElementFromId(ID_confirmPassword);
+
+ if (!e || e->getType() != irr::gui::EGUIET_EDIT_BOX)
+ return false;
+
+ std::string text = porting::getInputDialogValue();
+ e->setText(utf8_to_wide(text).c_str());
return false;
}
#endif