From b81b6cd1c66ad2080ebe15c77af281348d5d4e15 Mon Sep 17 00:00:00 2001 From: Asher Baker Date: Mon, 9 Nov 2015 14:56:42 +0000 Subject: [PATCH] Fix crash on failing to load dependent extension. --- core/logic/ExtensionSys.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/core/logic/ExtensionSys.cpp b/core/logic/ExtensionSys.cpp index 673eda3b..160c7a3c 100644 --- a/core/logic/ExtensionSys.cpp +++ b/core/logic/ExtensionSys.cpp @@ -297,16 +297,15 @@ bool CExtension::Load(char *error, size_t maxlength) CreateIdentity(); if (!m_pAPI->OnExtensionLoad(this, &g_ShareSys, error, maxlength, !bridge->IsMapLoading())) { + g_ShareSys.RemoveInterfaces(this); DestroyIdentity(); return false; } - else + + /* Check if we're past load time */ + if (!bridge->IsMapLoading()) { - /* Check if we're past load time */ - if (!bridge->IsMapLoading()) - { - m_pAPI->OnExtensionsAllLoaded(); - } + m_pAPI->OnExtensionsAllLoaded(); } return true;