[Scummvm-git-logs] scummvm master -> ba6b36e74a15bc394fffe22e9021534faef0492d
mduggan
mgithub at guarana.org
Sat Mar 28 09:14:26 UTC 2020
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:
ba6b36e74a ULTIMA8: Add defensive checks to make xcode analysis happy
Commit: ba6b36e74a15bc394fffe22e9021534faef0492d
https://github.com/scummvm/scummvm/commit/ba6b36e74a15bc394fffe22e9021534faef0492d
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-03-28T18:13:29+09:00
Commit Message:
ULTIMA8: Add defensive checks to make xcode analysis happy
Changed paths:
engines/ultima/ultima8/gumps/game_map_gump.cpp
engines/ultima/ultima8/gumps/paperdoll_gump.cpp
engines/ultima/ultima8/world/container.cpp
engines/ultima/ultima8/world/current_map.cpp
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.cpp b/engines/ultima/ultima8/gumps/game_map_gump.cpp
index 5fe5acf5de..92ddecd221 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.cpp
+++ b/engines/ultima/ultima8/gumps/game_map_gump.cpp
@@ -423,7 +423,8 @@ bool GameMapGump::StartDraggingItem(Item *item, int mx, int my) {
if (!avatar->canReach(item, 128)) return false; // CONSTANT!
// get item offset
- int32 itemx, itemy;
+ int32 itemx = 0;
+ int32 itemy = 0;
GetLocationOfItem(item->getObjId(), itemx, itemy);
Mouse::get_instance()->setDraggingOffset(mx - itemx, my - itemy);
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index dba195f421..96a4a5ec21 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -346,8 +346,7 @@ bool PaperdollGump::DraggingItem(Item *item, int mx, int my) {
_draggingY = equipcoords[equiptype].y;
} else {
// drop in backpack
-
- if (!backpack->CanAddItem(item, true)) {
+ if (backpack && !backpack->CanAddItem(item, true)) {
_displayDragging = false;
return false;
}
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index ca14bc9388..1c165473f8 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -280,6 +280,7 @@ void Container::containerSearch(UCList *itemlist, const uint8 *loopscript,
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
// check item against loopscript
if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+ assert(itemlist->getElementSize() == 2);
uint16 oId = (*iter)->getObjId();
uint8 buf[2];
buf[0] = static_cast<uint8>(oId);
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 188a2bd290..0cedd85825 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -517,6 +517,7 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
// check item against loopscript
if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+ assert(itemlist->getElementSize() == 2);
uint16 objid = (*iter)->getObjId();
uint8 buf[2];
buf[0] = static_cast<uint8>(objid);
@@ -614,6 +615,7 @@ void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
// check item against loopscript
if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+ assert(itemlist->getElementSize() == 2);
uint16 objid = (*iter)->getObjId();
uint8 buf[2];
buf[0] = static_cast<uint8>(objid);
More information about the Scummvm-git-logs
mailing list