From 43ca6071eaa559d04988910491b3013664e9f396 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 21 Feb 2010 00:50:27 +0000 Subject: Handle invalid rects in kCanBeHere(). Fixes some odd crashes in Iceman svn-id: r48098 --- engines/sci/graphics/compare.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'engines/sci') diff --git a/engines/sci/graphics/compare.cpp b/engines/sci/graphics/compare.cpp index 689c871e64..cf57d98b52 100644 --- a/engines/sci/graphics/compare.cpp +++ b/engines/sci/graphics/compare.cpp @@ -152,6 +152,9 @@ bool GfxCompare::kernelCanBeHere(reg_t curObject, reg_t listReference) { checkRect.right = GET_SEL32V(_segMan, curObject, SELECTOR(brRight)); checkRect.bottom = GET_SEL32V(_segMan, curObject, SELECTOR(brBottom)); + if (!checkRect.isValidRect()) // can occur in Iceman + return false; + adjustedRect = _coordAdjuster->onControl(checkRect); signal = GET_SEL32V(_segMan, curObject, SELECTOR(signal)); -- cgit v1.2.3