From 505c04701f95c4a5f98d821892e8a121d5478f8d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 9 Oct 2011 21:04:15 +1100 Subject: TSAGE: Added missing code for SceneExt::remove --- engines/tsage/blue_force/blueforce_logic.cpp | 15 +++++++++++++++ engines/tsage/blue_force/blueforce_logic.h | 1 + 2 files changed, 16 insertions(+) (limited to 'engines') diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp index b5465e7c40..87f1614389 100644 --- a/engines/tsage/blue_force/blueforce_logic.cpp +++ b/engines/tsage/blue_force/blueforce_logic.cpp @@ -681,6 +681,21 @@ void SceneExt::postInit(SceneObjectList *OwnerList) { } } +void SceneExt::remove() { + BF_GLOBALS._uiElements.hide(); + BF_GLOBALS._uiElements.resetClear(); + + // Below code originally in Blue Force Scene::remove(). Placed here to avoid contaminating + // core class with Blue Force specific code + if (_action) { + if (_action->_endHandler) + _action->_endHandler = NULL; + _action->remove(); + } + + _focusObject = NULL; +} + void SceneExt::process(Event &event) { _objArray2.process(event); if (!event.handled) diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h index dcaea52444..a39e19ae3d 100644 --- a/engines/tsage/blue_force/blueforce_logic.h +++ b/engines/tsage/blue_force/blueforce_logic.h @@ -211,6 +211,7 @@ public: virtual Common::String getClassName() { return "SceneExt"; } virtual void postInit(SceneObjectList *OwnerList = NULL); + virtual void remove(); virtual void process(Event &event); virtual void dispatch(); virtual void loadScene(int sceneNum); -- cgit v1.2.3