From 782cd55c31cef7adb5c235bed6bf24bbf606ec9d Mon Sep 17 00:00:00 2001 From: SupSuper Date: Wed, 28 Jul 2021 09:37:25 +0100 Subject: [PATCH] GUI: Fix RTL Add Game dialog leaving UI in a broken state (#12765) Make sure we clear all RTL dialog paddings once we go back to the launcher. --- gui/gui-manager.cpp | 5 +++++ gui/options.cpp | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp index b19e8690949..42bac4e6313 100644 --- a/gui/gui-manager.cpp +++ b/gui/gui-manager.cpp @@ -290,6 +290,11 @@ void GuiManager::redraw() { if (_redrawStatus == kRedrawOpenDialog && _dialogStack.size() > 2) shading = ThemeEngine::kShadingNone; + // Reset any custom RTL paddings set by stacked dialogs when we go back to the top + if (useRTL() && _dialogStack.size() == 1) { + setDialogPaddings(0, 0); + } + switch (_redrawStatus) { case kRedrawCloseDialog: case kRedrawFull: diff --git a/gui/options.cpp b/gui/options.cpp index 3c84708ba7d..a3e28d6a6b4 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -161,10 +161,6 @@ OptionsDialog::OptionsDialog(const Common::String &domain, const Common::String OptionsDialog::~OptionsDialog() { delete _subToggleGroup; - if (g_gui.useRTL()) { - g_gui.setDialogPaddings(0, 0); - g_gui.scheduleTopDialogRedraw(); - } } void OptionsDialog::init() {