aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authorPaul Gilbert2011-10-09 21:04:15 +1100
committerPaul Gilbert2011-10-09 21:04:15 +1100
commit505c04701f95c4a5f98d821892e8a121d5478f8d (patch)
treeb83849df81ce3f2b50d5a7ec637978f05e6f1f9d /engines/tsage
parentd83ae0840132c91058a6b3553c27445cfe24ae35 (diff)
downloadscummvm-rg350-505c04701f95c4a5f98d821892e8a121d5478f8d.tar.gz
scummvm-rg350-505c04701f95c4a5f98d821892e8a121d5478f8d.tar.bz2
scummvm-rg350-505c04701f95c4a5f98d821892e8a121d5478f8d.zip
TSAGE: Added missing code for SceneExt::remove
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/blue_force/blueforce_logic.cpp15
-rw-r--r--engines/tsage/blue_force/blueforce_logic.h1
2 files changed, 16 insertions, 0 deletions
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);