[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