[Scummvm-git-logs] scummvm master -> f3dd3de43f62d6a442fd8d2099f2b405c592fb67

Strangerke Strangerke at scummvm.org
Sat Jun 5 22:52:12 UTC 2021


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:
f3dd3de43f TRECISION: Fix some Coverity issues


Commit: f3dd3de43f62d6a442fd8d2099f2b405c592fb67
    https://github.com/scummvm/scummvm/commit/f3dd3de43f62d6a442fd8d2099f2b405c592fb67
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2021-06-05T23:51:57+01:00

Commit Message:
TRECISION: Fix some Coverity issues

Changed paths:
    engines/trecision/scheduler.cpp
    engines/trecision/script.cpp
    engines/trecision/struct.h
    engines/trecision/text.cpp
    engines/trecision/trecision.cpp
    engines/trecision/utils.cpp


diff --git a/engines/trecision/scheduler.cpp b/engines/trecision/scheduler.cpp
index 4b8730d2b4..6474d7febc 100644
--- a/engines/trecision/scheduler.cpp
+++ b/engines/trecision/scheduler.cpp
@@ -30,6 +30,7 @@ Scheduler::Scheduler(TrecisionEngine *vm) : _vm(vm) {
 	_counter = 0;
 
 	_idleMsg = { MC_IDLE, 0, MP_DEFAULT, 0, 0, 0, 0 };
+	_msg = {MC_IDLE, 0, MP_DEFAULT, 0, 0, 0, 0};
 }
 
 Scheduler::~Scheduler() {
diff --git a/engines/trecision/script.cpp b/engines/trecision/script.cpp
index 0c6b83dae2..619b2aae1c 100644
--- a/engines/trecision/script.cpp
+++ b/engines/trecision/script.cpp
@@ -37,6 +37,16 @@
 
 namespace Trecision {
 
+void SScriptFrame::clear() {
+	_class = MC_IDLE;
+	_event = ME_MOUSEOPERATE;
+	_u8Param = 0;
+	_u16Param1 = _u16Param2 = 0;
+	_u32Param = 0;
+
+	_noWait = false;
+}
+
 void SScriptFrame::sendFrame(Scheduler *scheduler) {
 	scheduler->doEvent(_class, _event, MP_DEFAULT, _u16Param1, _u16Param2, _u8Param, _u32Param);
 }
diff --git a/engines/trecision/struct.h b/engines/trecision/struct.h
index 292ee29e4a..0a7298569b 100644
--- a/engines/trecision/struct.h
+++ b/engines/trecision/struct.h
@@ -154,6 +154,7 @@ struct SScriptFrame {
 
 	bool  _noWait;
 
+	void clear();
 	void sendFrame(Scheduler *scheduler);
 	bool isEmptyEvent() const { return _class == 0 && _event == 0;  }
 };
@@ -168,7 +169,7 @@ struct SDText {
 	Common::String _text;
 	char _drawTextLines[MAXDTEXTLINES][MAXDTEXTCHARS];
 
-	void set(SDText org);
+	void set(SDText *org);
 	void set(Common::Rect rect, Common::Rect subtitleRect, uint16 textCol, uint16 shadowCol, const Common::String &text);
 
 	void draw(TrecisionEngine *vm, Graphics::Surface *externalSurface = nullptr);
diff --git a/engines/trecision/text.cpp b/engines/trecision/text.cpp
index dccd35d53e..5bbaf8c612 100644
--- a/engines/trecision/text.cpp
+++ b/engines/trecision/text.cpp
@@ -436,7 +436,7 @@ void TextManager::drawText(StackText text) {
 
 void TextManager::clearText() {
 	if (_oldString._text.empty() && !_curString._text.empty()) {
-		_oldString.set(_curString);
+		_oldString.set(&_curString);
 		_curString._text.clear();
 
 		_vm->_textStatus |= TEXT_DEL;
diff --git a/engines/trecision/trecision.cpp b/engines/trecision/trecision.cpp
index dc230ca944..8d297c04a8 100644
--- a/engines/trecision/trecision.cpp
+++ b/engines/trecision/trecision.cpp
@@ -164,6 +164,13 @@ TrecisionEngine::TrecisionEngine(OSystem *syst, const ADGameDescription *desc) :
 	_textStatus = TEXT_OFF;
 
 	_cx = _cy = 0;
+
+	_textArea = nullptr;
+	_snake52 = {MC_IDLE, 0, MP_DEFAULT, 0, 0, 0, 0};
+	for (int i = 0; i < 50; ++i)
+		_scriptFrame[i].clear();
+
+	_scheduler = nullptr;
 }
 
 TrecisionEngine::~TrecisionEngine() {
diff --git a/engines/trecision/utils.cpp b/engines/trecision/utils.cpp
index d3fa8ff4ae..f37fdcd263 100644
--- a/engines/trecision/utils.cpp
+++ b/engines/trecision/utils.cpp
@@ -79,9 +79,8 @@ uint16 TrecisionEngine::getKey() {
 	case Common::KEYCODE_F6:
 		return 0x3B + key - Common::KEYCODE_F1;
 	default:
-		if (ascii) {
+		if (ascii)
 			return ascii;
-		}
 
 		return 0;
 	}
@@ -297,8 +296,8 @@ int TrecisionEngine::getRoomObjectIndex(uint16 objectId) {
 /************************************************
  * SDText
  ************************************************/
-void SDText::set(SDText org) {
-	set(org._rect, org._subtitleRect, org._textCol, org._shadowCol, org._text);
+void SDText::set(SDText *org) {
+	set(org->_rect, org->_subtitleRect, org->_textCol, org->_shadowCol, org->_text);
 }
 
 void SDText::set(Common::Rect rect, Common::Rect subtitleRect, uint16 textCol, uint16 shadowCol, const Common::String &text) {




More information about the Scummvm-git-logs mailing list