aboutsummaryrefslogtreecommitdiff
path: root/graphics/VectorRendererSpec.cpp
diff options
context:
space:
mode:
authorVicent Marti2009-07-16 17:29:31 +0000
committerVicent Marti2009-07-16 17:29:31 +0000
commitaf289bdb03d7f0a5e8f01c03e462f230835e0077 (patch)
treea91e3a7763d9155b2fbeda88b34964133b627afb /graphics/VectorRendererSpec.cpp
parentff75d68f1ca292733b601b33ab3cfe4aab670174 (diff)
downloadscummvm-rg350-af289bdb03d7f0a5e8f01c03e462f230835e0077.tar.gz
scummvm-rg350-af289bdb03d7f0a5e8f01c03e462f230835e0077.tar.bz2
scummvm-rg350-af289bdb03d7f0a5e8f01c03e462f230835e0077.zip
Fixed bug 2820514 ("Help dialog causes crash")
svn-id: r42537
Diffstat (limited to 'graphics/VectorRendererSpec.cpp')
-rw-r--r--graphics/VectorRendererSpec.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/graphics/VectorRendererSpec.cpp b/graphics/VectorRendererSpec.cpp
index 4a7a301faf..b68f4822d8 100644
--- a/graphics/VectorRendererSpec.cpp
+++ b/graphics/VectorRendererSpec.cpp
@@ -596,8 +596,6 @@ drawSquare(int x, int y, int w, int h) {
template<typename PixelType>
void VectorRendererSpec<PixelType>::
drawRoundedSquare(int x, int y, int r, int w, int h) {
- x++; y++; w--; h--;
-
if (x + w > Base::_activeSurface->w || y + h > Base::_activeSurface->h ||
w <= 0 || h <= 0 || x < 0 || y < 0 || r <= 0)
return;
@@ -606,8 +604,8 @@ drawRoundedSquare(int x, int y, int r, int w, int h) {
r = MIN(w /2, h / 2);
if (Base::_fillMode != kFillDisabled && Base::_shadowOffset
- && x + w + Base::_shadowOffset < Base::_activeSurface->w
- && y + h + Base::_shadowOffset < Base::_activeSurface->h) {
+ && x + w + Base::_shadowOffset + 1 < Base::_activeSurface->w
+ && y + h + Base::_shadowOffset + 1 < Base::_activeSurface->h) {
drawRoundedSquareShadow(x, y, r, w, h, Base::_shadowOffset);
}
@@ -922,13 +920,11 @@ drawBevelSquareAlg(int x, int y, int w, int h, int bevel, PixelType top_color, P
int i, j;
-#if 0
x = MAX(x - bevel, 0);
y = MAX(y - bevel, 0);
- w = w + (bevel * 2);
- h = h + (bevel * 2);
-#endif
+ w = MIN(w + (bevel * 2), (int)_activeSurface->w);
+ h = MIN(h + (bevel * 2), (int)_activeSurface->h);
PixelType *ptr_left = (PixelType *)_activeSurface->getBasePtr(x, y);