diff --git a/repos/gems/src/app/sculpt_manager/main.cc b/repos/gems/src/app/sculpt_manager/main.cc index 556c34c057..e1410c446c 100644 --- a/repos/gems/src/app/sculpt_manager/main.cc +++ b/repos/gems/src/app/sculpt_manager/main.cc @@ -865,11 +865,13 @@ struct Sculpt::Main : Input_event_handler, void use(Storage_target const &target) override { + _system_dialog.reset_update_dialog(); _download_queue.reset(); _storage.use(target); /* hide system panel button and system dialog when "un-using" */ _panel_menu_view.generate(); + _system_menu_view.generate(); _handle_window_layout(); } diff --git a/repos/gems/src/app/sculpt_manager/view/software_update_dialog.h b/repos/gems/src/app/sculpt_manager/view/software_update_dialog.h index d09afdf1cc..045922563a 100644 --- a/repos/gems/src/app/sculpt_manager/view/software_update_dialog.h +++ b/repos/gems/src/app/sculpt_manager/view/software_update_dialog.h @@ -358,6 +358,12 @@ struct Sculpt::Software_update_dialog void handle_key(Codepoint c) { _users.handle_key(c); } void sanitize_user_selection() { _users.sanitize_unfold_state(); } + + void reset() + { + _last_installed = { }; + _last_selected = { }; + } }; #endif /* _VIEW__SOFTWARE_UPDATE_DIALOG_H_ */ diff --git a/repos/gems/src/app/sculpt_manager/view/system_dialog.h b/repos/gems/src/app/sculpt_manager/view/system_dialog.h index a202cb39ae..3510ef4289 100644 --- a/repos/gems/src/app/sculpt_manager/view/system_dialog.h +++ b/repos/gems/src/app/sculpt_manager/view/system_dialog.h @@ -139,6 +139,8 @@ struct Sculpt::System_dialog : Noncopyable, Dialog void handle_key(Codepoint c) { _update_dialog.handle_key(c); } void sanitize_user_selection() { _update_dialog.sanitize_user_selection(); } + + void reset_update_dialog() { _update_dialog.reset(); } }; #endif /* _VIEW__SYSTEM_DIALOG_H_ */