@@ -57,7 +57,7 @@ namespace BansheeEngine
GUISceneTreeView::~GUISceneTreeView()
{
- SceneTreeViewLocator::_provide(nullptr);
+ SceneTreeViewLocator::_remove(this);
}
GUISceneTreeView* GUISceneTreeView::create(const String& backgroundStyle, const String& elementBtnStyle, const String& foldoutBtnStyle,
@@ -34,6 +34,18 @@ namespace BansheeEngine
mService = service;
+ /**
+ * @brief Stops providing a service when "instance()" is called. Ignored if the current service
+ * doesn't match the provided service.
+ */
+ static void _remove(T* service)
+ {
+ if (mService != service)
+ return;
+
+ mService = nullptr;
+ }
private:
static T* mService;
};
@@ -1,6 +1,7 @@
#include "BsScriptObject.h"
#include "BsScriptObjectManager.h"
#include "BsMonoManager.h"
+#include "BsCrashHandler.h"
#include "BsMonoField.h"
namespace BansheeEngine