[Scummvm-cvs-logs] SF.net SVN: scummvm:[46240] scummvm/trunk/engines/sci/gui/gui_view.cpp
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Wed Dec 2 22:30:44 CET 2009
Revision: 46240
http://scummvm.svn.sourceforge.net/scummvm/?rev=46240&view=rev
Author: m_kiewitz
Date: 2009-12-02 21:30:43 +0000 (Wed, 02 Dec 2009)
Log Message:
-----------
SCI: Do clipping on celNo for case when celNo is below 0 (fixes crash in island dr. brain intro)
Modified Paths:
--------------
scummvm/trunk/engines/sci/gui/gui_view.cpp
Modified: scummvm/trunk/engines/sci/gui/gui_view.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_view.cpp 2009-12-02 20:25:01 UTC (rev 46239)
+++ scummvm/trunk/engines/sci/gui/gui_view.cpp 2009-12-02 21:30:43 UTC (rev 46240)
@@ -225,23 +225,20 @@
}
int16 SciGuiView::getWidth(GuiViewLoopNo loopNo, GuiViewCelNo celNo) {
- loopNo = CLIP<int16>(loopNo, 0, _loopCount -1);
- if (celNo >= _loop[loopNo].celCount)
- celNo = 0;
+ loopNo = CLIP<int16>(loopNo, 0, _loopCount - 1);
+ celNo = CLIP<int16>(celNo, 0, _loop[loopNo].celCount - 1);
return _loopCount ? _loop[loopNo].cel[celNo].width : 0;
}
int16 SciGuiView::getHeight(GuiViewLoopNo loopNo, GuiViewCelNo celNo) {
loopNo = CLIP<int16>(loopNo, 0, _loopCount -1);
- if (celNo >= _loop[loopNo].celCount)
- celNo = 0;
+ celNo = CLIP<int16>(celNo, 0, _loop[loopNo].celCount - 1);
return _loopCount ? _loop[loopNo].cel[celNo].height : 0;
}
sciViewCelInfo *SciGuiView::getCelInfo(GuiViewLoopNo loopNo, GuiViewCelNo celNo) {
loopNo = CLIP<int16>(loopNo, 0, _loopCount - 1);
- if (celNo >= _loop[loopNo].celCount)
- celNo = 0;
+ celNo = CLIP<int16>(celNo, 0, _loop[loopNo].celCount - 1);
return _loopCount ? &_loop[loopNo].cel[celNo] : NULL;
}
@@ -345,8 +342,7 @@
byte *SciGuiView::getBitmap(GuiViewLoopNo loopNo, GuiViewCelNo celNo) {
loopNo = CLIP<int16>(loopNo, 0, _loopCount -1);
- if (celNo >= _loop[loopNo].celCount)
- celNo = 0;
+ celNo = CLIP<int16>(celNo, 0, _loop[loopNo].celCount - 1);
if (_loop[loopNo].cel[celNo].rawBitmap)
return _loop[loopNo].cel[celNo].rawBitmap;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list