mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 06:10:03 -06:00
close any opened dialogs when closing the main window
This commit is contained in:
@ -180,4 +180,11 @@ void Open()
|
|||||||
uiControlShow(uiControl(win));
|
uiControlShow(uiControl(win));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Close()
|
||||||
|
{
|
||||||
|
if (!opened) return;
|
||||||
|
uiControlDestroy(uiControl(win));
|
||||||
|
opened = false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ namespace DlgAudioSettings
|
|||||||
{
|
{
|
||||||
|
|
||||||
void Open();
|
void Open();
|
||||||
|
void Close();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,4 +107,11 @@ void Open()
|
|||||||
uiControlShow(uiControl(win));
|
uiControlShow(uiControl(win));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Close()
|
||||||
|
{
|
||||||
|
if (!opened) return;
|
||||||
|
uiControlDestroy(uiControl(win));
|
||||||
|
opened = false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ namespace DlgEmuSettings
|
|||||||
{
|
{
|
||||||
|
|
||||||
void Open();
|
void Open();
|
||||||
|
void Close();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -450,5 +450,13 @@ void Open(int type)
|
|||||||
uiControlShow(uiControl(dlg->win));
|
uiControlShow(uiControl(dlg->win));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Close(int type)
|
||||||
|
{
|
||||||
|
if (openedmask & (1<<type))
|
||||||
|
uiControlDestroy(uiControl(inputdlg[type].win));
|
||||||
|
|
||||||
|
openedmask &= ~(1<<type);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ namespace DlgInputConfig
|
|||||||
{
|
{
|
||||||
|
|
||||||
void Open(int type);
|
void Open(int type);
|
||||||
|
void Close(int type);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,4 +306,11 @@ void Open()
|
|||||||
uiControlShow(uiControl(win));
|
uiControlShow(uiControl(win));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Close()
|
||||||
|
{
|
||||||
|
if (!opened) return;
|
||||||
|
uiControlDestroy(uiControl(win));
|
||||||
|
opened = false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ namespace DlgVideoSettings
|
|||||||
{
|
{
|
||||||
|
|
||||||
void Open();
|
void Open();
|
||||||
|
void Close();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,4 +261,11 @@ void Open()
|
|||||||
uiControlShow(uiControl(win));
|
uiControlShow(uiControl(win));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Close()
|
||||||
|
{
|
||||||
|
if (!opened) return;
|
||||||
|
uiControlDestroy(uiControl(win));
|
||||||
|
opened = false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ namespace DlgWifiSettings
|
|||||||
{
|
{
|
||||||
|
|
||||||
void Open();
|
void Open();
|
||||||
|
void Close();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1637,11 +1637,23 @@ void UndoStateLoad()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CloseAllDialogs()
|
||||||
|
{
|
||||||
|
DlgAudioSettings::Close();
|
||||||
|
DlgEmuSettings::Close();
|
||||||
|
DlgInputConfig::Close(0);
|
||||||
|
DlgInputConfig::Close(1);
|
||||||
|
DlgVideoSettings::Close();
|
||||||
|
DlgWifiSettings::Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int OnCloseWindow(uiWindow* window, void* blarg)
|
int OnCloseWindow(uiWindow* window, void* blarg)
|
||||||
{
|
{
|
||||||
EmuRunning = 3;
|
EmuRunning = 3;
|
||||||
while (EmuStatus != 3);
|
while (EmuStatus != 3);
|
||||||
|
|
||||||
|
CloseAllDialogs();
|
||||||
uiQuit();
|
uiQuit();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1678,6 +1690,7 @@ void OnCloseByMenu(uiMenuItem* item, uiWindow* window, void* blarg)
|
|||||||
EmuRunning = 3;
|
EmuRunning = 3;
|
||||||
while (EmuStatus != 3);
|
while (EmuStatus != 3);
|
||||||
|
|
||||||
|
CloseAllDialogs();
|
||||||
DestroyMainWindow();
|
DestroyMainWindow();
|
||||||
uiQuit();
|
uiQuit();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user