From 530e17a7e571adee8db6d9ec17cb12dda175efb1 Mon Sep 17 00:00:00 2001 From: Zander Otavka Date: Fri, 22 Jul 2016 15:08:09 -0700 Subject: [PATCH] Move JSON parsing for custom dialog to be sooner --- libraries/ui/src/OffscreenUi.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/libraries/ui/src/OffscreenUi.cpp b/libraries/ui/src/OffscreenUi.cpp index 9e5f6c4e62..06ef456006 100644 --- a/libraries/ui/src/OffscreenUi.cpp +++ b/libraries/ui/src/OffscreenUi.cpp @@ -349,12 +349,8 @@ QVariant OffscreenUi::getCustomInfo(const Icon icon, const QString& title, const } QVariant result = DependencyManager::get()->customInputDialog(icon, title, config); - if (result.isValid()) { - // We get a JSON encoded result, so we unpack it into a QVariant wrapping a QVariantMap - result = QVariant(QJsonDocument::fromJson(result.toString().toUtf8()).object().toVariantMap()); - if (ok) { - *ok = true; - } + if (ok && result.isValid()) { + *ok = true; } return result; @@ -386,7 +382,13 @@ QVariant OffscreenUi::customInputDialog(const Icon icon, const QString& title, c return result; } - return waitForInputDialogResult(createCustomInputDialog(icon, title, config)); + QVariant result = waitForInputDialogResult(createCustomInputDialog(icon, title, config)); + if (result.isValid()) { + // We get a JSON encoded result, so we unpack it into a QVariant wrapping a QVariantMap + result = QVariant(QJsonDocument::fromJson(result.toString().toUtf8()).object().toVariantMap()); + } + + return result; } void OffscreenUi::togglePinned() {