mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-01 00:55:06 +01:00
-fixed wiiflow reboot crashes after new theme selection
-may fixed some boot problems of games, channels, homebrew, etc
This commit is contained in:
parent
e685842c59
commit
af8c83dd7c
@ -508,16 +508,11 @@ void CMenu::cleanup(bool hb)
|
||||
SoundHandler::DestroyInstance();
|
||||
soundDeinit();
|
||||
|
||||
if(!m_reload)
|
||||
{
|
||||
if(!hb)
|
||||
DeviceHandler::DestroyInstance();
|
||||
m_vid.CheckWaitThread(true);
|
||||
m_vid.cleanup();
|
||||
m_cf.shutdown();
|
||||
}
|
||||
else
|
||||
m_cf.clear();
|
||||
|
||||
wiiLightOff();
|
||||
_deinitNetwork();
|
||||
|
@ -562,6 +562,7 @@ void CMenu::_game(bool launch)
|
||||
|
||||
m_cf.clear();
|
||||
_showWaitMessage();
|
||||
exitHandler(0); //Making wiiflow ready to boot something
|
||||
|
||||
if(hdr->type != TYPE_HOMEBREW && hdr->type != TYPE_PLUGIN)
|
||||
{
|
||||
|
@ -220,7 +220,7 @@ void CMenu::exitHandler(int ExitTo)
|
||||
{
|
||||
gprintf("Exit WiiFlow called\n");
|
||||
Nand::Instance()->Disable_Emu();
|
||||
if(!m_disable_exit)
|
||||
if(!m_disable_exit || ExitTo == 0)
|
||||
{
|
||||
m_exit = true;
|
||||
if(ExitTo == 1) // HBC
|
||||
@ -244,7 +244,7 @@ void CMenu::exitHandler(int ExitTo)
|
||||
}
|
||||
|
||||
m_reload = (BTN_B_HELD || m_disable_exit);
|
||||
if(m_exit && !m_reload) //D'oh!
|
||||
if(m_exit)
|
||||
{
|
||||
// Mark exiting to prevent soundhandler from restarting
|
||||
extern bool exiting;
|
||||
@ -821,8 +821,13 @@ int CMenu::main(void)
|
||||
}
|
||||
}
|
||||
if(m_reload)
|
||||
{
|
||||
m_cf.clear();
|
||||
_showWaitMessage();
|
||||
|
||||
exitHandler(0); //Making wiiflow ready to boot something
|
||||
_launchHomebrew(fmt("%s/boot.dol", m_appDir.c_str()), m_homebrewArgs);
|
||||
return 0;
|
||||
}
|
||||
gprintf("Saving configuration files\n");
|
||||
m_cfg.save();
|
||||
m_cat.unload();
|
||||
@ -832,10 +837,7 @@ int CMenu::main(void)
|
||||
coverStatus = LWP_THREAD_NULL;
|
||||
if(coverstatus_stack.get())
|
||||
coverstatus_stack.release();
|
||||
if(!m_reload)
|
||||
return 0;
|
||||
cleanup();
|
||||
return 1;
|
||||
}
|
||||
|
||||
void CMenu::_initMainMenu(CMenu::SThemeData &theme)
|
||||
|
Loading…
Reference in New Issue
Block a user