[Scummvm-git-logs] scummvm master -> 7f9fe280a879fb68aecf6bba0223e636a4071324

whiterandrek whiterandrek at gmail.com
Tue Oct 6 14:20:00 UTC 2020


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

Summary:
aa7e20de28 PETKA: fix memory leak in sound mgr
6e09269275 PETKA: fix memory leak in QObjectPetka
43524fe31f PETKA: fix memory leak when reading object data
7f9fe280a8 PETKA: fix memory leak in video decoding


Commit: aa7e20de28eb19e840cdb4a6fae75701665343fd
    https://github.com/scummvm/scummvm/commit/aa7e20de28eb19e840cdb4a6fae75701665343fd
Author: Eduard Chaika (rampopula at gmail.com)
Date: 2020-10-06T17:19:52+03:00

Commit Message:
PETKA: fix memory leak in sound mgr

Changed paths:
    engines/petka/sound.cpp


diff --git a/engines/petka/sound.cpp b/engines/petka/sound.cpp
index 85abd42f8c..e5f018b838 100644
--- a/engines/petka/sound.cpp
+++ b/engines/petka/sound.cpp
@@ -84,7 +84,7 @@ Sound *SoundMgr::addSound(const Common::String &name, Audio::Mixer::SoundType ty
 	Common::SeekableReadStream *s = _vm.openFile(name, false);
 	if (s) {
 		debug("SoundMgr: added sound %s", name.c_str());
-		sound = new Sound(_vm.openFile(name, false), type);
+		sound = new Sound(s, type);
 		_sounds.getVal(name).reset(sound);
 	}
 	return sound;


Commit: 6e092692753b256d6535aab66484823378928104
    https://github.com/scummvm/scummvm/commit/6e092692753b256d6535aab66484823378928104
Author: Eduard Chaika (rampopula at gmail.com)
Date: 2020-10-06T17:19:52+03:00

Commit Message:
PETKA: fix memory leak in QObjectPetka

Changed paths:
    engines/petka/objects/heroes.cpp
    engines/petka/objects/heroes.h


diff --git a/engines/petka/objects/heroes.cpp b/engines/petka/objects/heroes.cpp
index 8b7b03c797..5775a9fa60 100644
--- a/engines/petka/objects/heroes.cpp
+++ b/engines/petka/objects/heroes.cpp
@@ -34,7 +34,8 @@
 
 namespace Petka {
 
-QObjectPetka::QObjectPetka() {
+QObjectPetka::QObjectPetka()
+	: _walk(nullptr) {
 	_field7C = 1;
 	_reaction = nullptr;
 	_heroReaction = nullptr;
@@ -47,7 +48,6 @@ QObjectPetka::QObjectPetka() {
 	_surfH = 0;
 	_surfW = 0;
 	_k = 1.0;
-	_walk = nullptr;
 }
 
 void QObjectPetka::processMessage(const QMessage &arg) {
@@ -56,8 +56,7 @@ void QObjectPetka::processMessage(const QMessage &arg) {
 		msg.opcode = kSet;
 		_imageId = msg.arg1;
 
-		delete _walk;
-		_walk = new Walk(_imageId + 10);
+		_walk.reset(new Walk(_imageId + 10));
 
 		QObjectBG *room = g_vm->getQSystem()->_room;
 		if (room)
diff --git a/engines/petka/objects/heroes.h b/engines/petka/objects/heroes.h
index cee480ea0f..69eb926cb4 100644
--- a/engines/petka/objects/heroes.h
+++ b/engines/petka/objects/heroes.h
@@ -23,6 +23,7 @@
 #ifndef PETKA_HEROES_H
 #define PETKA_HEROES_H
 
+#include "common/ptr.h"
 #include "petka/objects/object.h"
 
 namespace Petka {
@@ -63,7 +64,7 @@ public:
 	// int _surfId;
 	int _imageId;
 	double _k;
-	Walk *_walk;
+	Common::ScopedPtr<Walk> _walk;
 	int _destX;
 	int _destY;
 	bool _isWalking;


Commit: 43524fe31f0c839a77df9f0f25a9702495a5204c
    https://github.com/scummvm/scummvm/commit/43524fe31f0c839a77df9f0f25a9702495a5204c
Author: Eduard Chaika (rampopula at gmail.com)
Date: 2020-10-06T17:19:52+03:00

Commit Message:
PETKA: fix memory leak when reading object data

Changed paths:
    engines/petka/objects/object.cpp


diff --git a/engines/petka/objects/object.cpp b/engines/petka/objects/object.cpp
index cdb72cf999..89934c2140 100644
--- a/engines/petka/objects/object.cpp
+++ b/engines/petka/objects/object.cpp
@@ -374,6 +374,7 @@ static Common::String readString(Common::ReadStream &readStream) {
 	readStream.read(data, stringSize);
 	data[stringSize] = '\0';
 	Common::String str((char *)data);
+	free(data);
 	return str;
 }
 


Commit: 7f9fe280a879fb68aecf6bba0223e636a4071324
    https://github.com/scummvm/scummvm/commit/7f9fe280a879fb68aecf6bba0223e636a4071324
Author: Eduard Chaika (rampopula at gmail.com)
Date: 2020-10-06T17:19:52+03:00

Commit Message:
PETKA: fix memory leak in video decoding

Changed paths:
    engines/petka/petka.cpp


diff --git a/engines/petka/petka.cpp b/engines/petka/petka.cpp
index 258d3f66e4..6f4572abf5 100644
--- a/engines/petka/petka.cpp
+++ b/engines/petka/petka.cpp
@@ -197,7 +197,7 @@ void PetkaEngine::playVideo(Common::SeekableReadStream *stream) {
 		if (decoder.needsUpdate()) {
 			const Graphics::Surface *frame = decoder.decodeNextFrame();
 			if (frame) {
-				Common::ScopedPtr<Graphics::Surface> f(frame->convertTo(fmt));
+				Common::ScopedPtr<Graphics::Surface, Graphics::SurfaceDeleter> f(frame->convertTo(fmt));
 				_system->copyRectToScreen(f->getPixels(), f->pitch, 0, 0, f->w, f->h);
 			}
 		}




More information about the Scummvm-git-logs mailing list