[Scummvm-git-logs] scummvm master -> 3f4767c41f8e9d099ce1fdfde40fd16e6e906751

antoniou79 noreply at scummvm.org
Tue Jul 11 17:15:05 UTC 2023


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
3f4767c41f BLADERUNNER: Check for nullptr _currentScript in SceneScript methods


Commit: 3f4767c41f8e9d099ce1fdfde40fd16e6e906751
    https://github.com/scummvm/scummvm/commit/3f4767c41f8e9d099ce1fdfde40fd16e6e906751
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2023-07-11T20:14:59+03:00

Commit Message:
BLADERUNNER: Check for nullptr _currentScript in SceneScript methods

Changed paths:
    engines/bladerunner/script/scene_script.cpp


diff --git a/engines/bladerunner/script/scene_script.cpp b/engines/bladerunner/script/scene_script.cpp
index 0ae02dc2427..6beda71e579 100644
--- a/engines/bladerunner/script/scene_script.cpp
+++ b/engines/bladerunner/script/scene_script.cpp
@@ -162,14 +162,18 @@ bool SceneScript::open(const Common::String &name) {
 
 void SceneScript::initializeScene() {
 	++_inScriptCounter;
-	_currentScript->InitializeScene();
+	if (_currentScript != nullptr) {
+		_currentScript->InitializeScene();
+	}
 	--_inScriptCounter;
 }
 
 void SceneScript::sceneLoaded() {
 	_vm->_sceneIsLoading = true;
 	++_inScriptCounter;
-	_currentScript->SceneLoaded();
+	if (_currentScript != nullptr) {
+		_currentScript->SceneLoaded();
+	}
 	_vm->_sceneIsLoading = false;
 	--_inScriptCounter;
 }
@@ -198,7 +202,10 @@ bool SceneScript::clickedOn3DObject(const char *objectName, bool combatMode) {
 	}
 
 	++_inScriptCounter;
-	bool result = _currentScript->ClickedOn3DObject(objectName, combatMode);
+	bool result = false;
+	if (_currentScript != nullptr) {
+		result = _currentScript->ClickedOn3DObject(objectName, combatMode);
+	}
 	_vm->_runningActorId = -1;
 	--_inScriptCounter;
 	return result;
@@ -210,7 +217,10 @@ bool SceneScript::clickedOnActor(int actorId) {
 	}
 
 	++_inScriptCounter;
-	bool result = _currentScript->ClickedOnActor(actorId);
+	bool result = false;
+	if (_currentScript != nullptr) {
+		_currentScript->ClickedOnActor(actorId);
+	}
 	_vm->_runningActorId = -1;
 	--_inScriptCounter;
 	return result;
@@ -229,7 +239,10 @@ bool SceneScript::clickedOnItem(int itemId, bool combatMode) {
 #endif // BLADERUNNER_ORIGINAL_BUGS
 
 	++_inScriptCounter;
-	bool result = _currentScript->ClickedOnItem(itemId, combatMode);
+	bool result = false;
+	if (_currentScript != nullptr) {
+		_currentScript->ClickedOnItem(itemId, combatMode);
+	}
 	_vm->_runningActorId = -1;
 	--_inScriptCounter;
 	return result;
@@ -241,7 +254,10 @@ bool SceneScript::clickedOnExit(int exitId) {
 	}
 
 	++_inScriptCounter;
-	bool result = _currentScript->ClickedOnExit(exitId);
+	bool result = false;
+	if (_currentScript != nullptr) {
+		_currentScript->ClickedOnExit(exitId);
+	}
 	_vm->_runningActorId = -1;
 	--_inScriptCounter;
 	return result;
@@ -253,7 +269,10 @@ bool SceneScript::clickedOn2DRegion(int region) {
 	}
 
 	++_inScriptCounter;
-	bool result = _currentScript->ClickedOn2DRegion(region);
+	bool result = false;
+	if (_currentScript != nullptr) {
+		 _currentScript->ClickedOn2DRegion(region);
+	 }
 	_vm->_runningActorId = -1;
 	--_inScriptCounter;
 	return result;
@@ -261,32 +280,41 @@ bool SceneScript::clickedOn2DRegion(int region) {
 
 void SceneScript::sceneFrameAdvanced(int frame) {
 	++_inScriptCounter;
-	_currentScript->SceneFrameAdvanced(frame);
+	if (_currentScript != nullptr) {
+		_currentScript->SceneFrameAdvanced(frame);
+	}
 	--_inScriptCounter;
 }
 
 void SceneScript::actorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
 	++_inScriptCounter;
-	if (_currentScript)
+	if (_currentScript != nullptr) {
 		_currentScript->ActorChangedGoal(actorId, newGoal, oldGoal, currentSet);
+	}
 	--_inScriptCounter;
 }
 
 void SceneScript::playerWalkedIn() {
 	++_inScriptCounter;
-	_currentScript->PlayerWalkedIn();
+	if (_currentScript != nullptr) {
+		_currentScript->PlayerWalkedIn();
+	}
 	--_inScriptCounter;
 }
 
 void SceneScript::playerWalkedOut() {
 	++_inScriptCounter;
-	_currentScript->PlayerWalkedOut();
+	if (_currentScript != nullptr) {
+		_currentScript->PlayerWalkedOut();
+	}
 	--_inScriptCounter;
 }
 
 void SceneScript::dialogueQueueFlushed(int a1) {
 	++_inScriptCounter;
-	_currentScript->DialogueQueueFlushed(a1);
+	if (_currentScript != nullptr) {
+		_currentScript->DialogueQueueFlushed(a1);
+	}
 	--_inScriptCounter;
 }
 




More information about the Scummvm-git-logs mailing list