From fef0a578f66937370e9f27e55c771d3bb720227a Mon Sep 17 00:00:00 2001 From: SirHumza <204067870+SirHumza@users.noreply.github.com> Date: Thu, 24 Sep 2026 16:59:08 +0200 Subject: [PATCH] installer: load dialog sysmodules before use (fixes boot panic) --- installer/eboot.bin | Bin 138576 -> 138704 bytes installer/installer.c | 1 + installer/pkg.gp4 | 2 +- installer/ui.c | 11 +++++++++++ installer/ui.h | 5 +++++ 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/installer/eboot.bin b/installer/eboot.bin index de4fca0921e44122e00873cb310e3908f3aac080..e762c46aa0c6bc1bd5f1a640b27b9fd4533804b1 100644 GIT binary patch delta 10542 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 Ku<@jI^#1_eDeOl8 diff --git a/installer/installer.c b/installer/installer.c index ce40bb1..bf3e9bd 100644 --- a/installer/installer.c +++ b/installer/installer.c @@ -162,6 +162,7 @@ static void step_tweaks(void){ int main(void){ char tok[160]; int first_run; + if(ui_init() != 0) return 1; /* no dialogs possible; exit, don't crash */ tok[0] = 0; icfg_token_load(ICFG_PATH, tok, sizeof tok); first_run = !token_valid(tok); diff --git a/installer/pkg.gp4 b/installer/pkg.gp4 index 25518d5..ca86070 100644 --- a/installer/pkg.gp4 +++ b/installer/pkg.gp4 @@ -3,7 +3,7 @@ pkg_ps4_app PS4VOLUME - 2026-09-24 16:49:26 + 2026-09-24 16:59:07 diff --git a/installer/ui.c b/installer/ui.c index 9e79350..e6cc6aa 100644 --- a/installer/ui.c +++ b/installer/ui.c @@ -21,6 +21,17 @@ static void base_init(OrbisMsgDialogParam *param){ param->mode = ORBIS_MSG_DIALOG_MODE_USER_MSG; } +static int ui_ready = 0; + +int ui_init(void){ + if(ui_ready) return 0; + if(sceSysmoduleLoadModule(ORBIS_SYSMODULE_MESSAGE_DIALOG) < 0) return -1; + if(sceSysmoduleLoadModule(ORBIS_SYSMODULE_IME_DIALOG) < 0) return -1; + if(sceCommonDialogInitialize() < 0) return -1; + ui_ready = 1; + return 0; +} + int ui_ok(const char *msg){ OrbisMsgDialogParam param; OrbisMsgDialogUserMessageParam um; diff --git a/installer/ui.h b/installer/ui.h index e77e873..1efc50e 100644 --- a/installer/ui.h +++ b/installer/ui.h @@ -3,6 +3,11 @@ #define INSTALLER_UI_H #include +/* Must run once before any dialog: loads MsgDialog/ImeDialog sysmodules + * and inits CommonDialog. Calling dialogs without this panics the box + * (unloaded-sysmodule call at startup). 0 ok, -1 fatal. */ +int ui_init(void); + /* Info dialog with OK. 0 shown, -1 failed to open. */ int ui_ok(const char *msg); /* Yes/No dialog, focus on No (safe default). 1 yes, 0 no/closed, -1 error. */