Fix crash when using addon command in dialog

This commit is contained in:
Benau
2019-12-17 01:38:22 +08:00
parent 5989221305
commit 4a2def8df1

View File

@@ -322,9 +322,9 @@ void AddonsPack::doInstall()
// ----------------------------------------------------------------------------
void AddonsPack::install(const std::string& name)
{
// Only install addon live in menu
if (StateManager::get()->getGameState() != GUIEngine::MENU &&
!ModalDialog::isADialogActive())
// Only install addon live in menu with no dialog opened
if (StateManager::get()->getGameState() != GUIEngine::MENU ||
ModalDialog::isADialogActive())
return;
NetworkingLobby* nl = dynamic_cast<NetworkingLobby*>(
@@ -416,8 +416,9 @@ void AddonsPack::uninstallByName(const std::string& name,
// ----------------------------------------------------------------------------
void AddonsPack::uninstall(const std::string& name, bool force_remove_skin)
{
// Only uninstall addon live in menu
if (StateManager::get()->getGameState() != GUIEngine::MENU)
// Only uninstall addon live in menu or no dialog opened
if (StateManager::get()->getGameState() != GUIEngine::MENU ||
ModalDialog::isADialogActive())
return;
uninstallByName(name, force_remove_skin);