[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