From bba29944e60a328c63a972e03697ee6763de72ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 22 Oct 2026 08:52:36 +0200 Subject: [PATCH] InstallZip: Don't let each pane forget the other's views CreateSettingsViews and CreateContentViews both cleared all the view pointers, and which runs first depends on orientation. In landscape, Install and Play were never disabled during an install; in portrait, the done and error notices never showed. Reset them once in BeforeCreateViews instead. Co-Authored-By: Claude Opus 5.5 (1M context) --- UI/InstallZipScreen.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/UI/InstallZipScreen.cpp b/UI/InstallZipScreen.cpp index 4a2c94c6c6..66c859edc6 100644 --- a/UI/InstallZipScreen.cpp +++ b/UI/InstallZipScreen.cpp @@ -78,11 +78,6 @@ void InstallZipScreen::CreateSettingsViews(UI::ViewGroup *parent) { std::string shortFilename = zipPath_.GetFilename(); bool showDeleteCheckbox = false; - returnToHomebrew_ = false; - installChoice_ = nullptr; - playChoice_ = nullptr; - doneView_ = nullptr; - existingSaveView_ = nullptr; std::vector destOptions; @@ -144,12 +139,6 @@ void InstallZipScreen::CreateContentViews(UI::ViewGroup *parent) { std::string shortFilename = zipPath_.GetFilename(); - returnToHomebrew_ = false; - installChoice_ = nullptr; - playChoice_ = nullptr; - doneView_ = nullptr; - existingSaveView_ = nullptr; - overwriteWarning_ = nullptr; destFolders_.clear(); std::vector destOptions; @@ -320,8 +309,13 @@ void InstallZipScreen::CreateContentViews(UI::ViewGroup *parent) { } void InstallZipScreen::BeforeCreateViews() { - File::FileInfo fileInfo; - File::GetFileInfo(zipPath_, &fileInfo); + // The two panes are created in a different order depending on orientation, so neither can reset the other's views. + returnToHomebrew_ = false; + installChoice_ = nullptr; + playChoice_ = nullptr; + doneView_ = nullptr; + existingSaveView_ = nullptr; + overwriteWarning_ = nullptr; } bool InstallZipScreen::key(const KeyInput &key) {