[Scummvm-git-logs] scummvm master -> 0be151d5072615a438af9cce0288fb086c143410
dreammaster
dreammaster at scummvm.org
Sun May 28 20:56:58 CEST 2017
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:
0be151d507 TITANIC: Fix crash inserting photograph into star control
Commit: 0be151d5072615a438af9cce0288fb086c143410
https://github.com/scummvm/scummvm/commit/0be151d5072615a438af9cce0288fb086c143410
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-05-28T14:56:44-04:00
Commit Message:
TITANIC: Fix crash inserting photograph into star control
Changed paths:
engines/titanic/star_control/star_control_sub8.cpp
engines/titanic/star_control/star_ref.cpp
engines/titanic/star_control/star_ref.h
diff --git a/engines/titanic/star_control/star_control_sub8.cpp b/engines/titanic/star_control/star_control_sub8.cpp
index 23a65e8..470b357 100644
--- a/engines/titanic/star_control/star_control_sub8.cpp
+++ b/engines/titanic/star_control/star_control_sub8.cpp
@@ -98,7 +98,7 @@ bool CStarControlSub8::fn1(CStarField *starField, CSurfaceArea *surfaceArea, CSt
if (count > 0) {
allocate(count);
- CStarRef2 starRef(starField, &_positions);
+ CStarRefArray starRef(starField, &_positions);
starRef.process(surfaceArea, camera);
return true;
} else {
diff --git a/engines/titanic/star_control/star_ref.cpp b/engines/titanic/star_control/star_ref.cpp
index 185c953..6f68a6c 100644
--- a/engines/titanic/star_control/star_ref.cpp
+++ b/engines/titanic/star_control/star_ref.cpp
@@ -92,14 +92,16 @@ bool CStarRef1::check(const Common::Point &pt, int index) {
/*------------------------------------------------------------------------*/
-bool CStarRef2::check(const Common::Point &pt, int index) {
+bool CStarRefArray::check(const Common::Point &pt, int index) {
if (_index >= (int)_positions->size())
+ // Positions array full, so ignore
return false;
- CStarPosition &sp = (*_positions)[index];
+ CStarPosition &sp = (*_positions)[_index++];
sp.x = pt.x;
sp.y = pt.y;
sp._index1 = sp._index2 = index;
+
return true;
}
diff --git a/engines/titanic/star_control/star_ref.h b/engines/titanic/star_control/star_ref.h
index cb94555..4e66db0 100644
--- a/engines/titanic/star_control/star_ref.h
+++ b/engines/titanic/star_control/star_ref.h
@@ -56,15 +56,15 @@ public:
virtual bool check(const Common::Point &pt, int index);
};
-class CStarRef2 : public CBaseStarRef {
+class CStarRefArray : public CBaseStarRef {
private:
Common::Array<CStarPosition> *_positions;
public:
int _index;
public:
- CStarRef2(CBaseStars *stars, Common::Array<CStarPosition> *positions) :
+ CStarRefArray(CBaseStars *stars, Common::Array<CStarPosition> *positions) :
CBaseStarRef(stars), _positions(positions), _index(0) {}
- virtual ~CStarRef2() {}
+ virtual ~CStarRefArray() {}
virtual bool check(const Common::Point &pt, int index);
};
More information about the Scummvm-git-logs
mailing list