summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Andler <scislac@gmail.com>2009-11-08 01:09:47 +0000
committerscislac <scislac@users.sourceforge.net>2009-11-08 01:09:47 +0000
commit02415463cf767b7fe490e773971d65df12f55752 (patch)
tree646cc4a2446f74e54ac4eade36f38e02d938f6bd
parentpatch by Krzysztof for 459811 (diff)
downloadinkscape-02415463cf767b7fe490e773971d65df12f55752.tar.gz
inkscape-02415463cf767b7fe490e773971d65df12f55752.zip
Fix for crash 409043
(bzr r8823)
-rw-r--r--src/box3d-side.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/box3d-side.cpp b/src/box3d-side.cpp
index 241279100..69bae53d9 100644
--- a/src/box3d-side.cpp
+++ b/src/box3d-side.cpp
@@ -225,6 +225,16 @@ box3d_side_set_shape (SPShape *shape)
box3d_side_compute_corner_ids(side, corners);
SPCurve *c = new SPCurve();
+
+ if (!box3d_get_corner_screen(box, corners[0]).isFinite() ||
+ !box3d_get_corner_screen(box, corners[1]).isFinite() ||
+ !box3d_get_corner_screen(box, corners[2]).isFinite() ||
+ !box3d_get_corner_screen(box, corners[3]).isFinite() )
+ {
+ g_warning ("Trying to draw a 3D box side with invalid coordinates.\n");
+ return;
+ }
+
c->moveto(box3d_get_corner_screen(box, corners[0]));
c->lineto(box3d_get_corner_screen(box, corners[1]));
c->lineto(box3d_get_corner_screen(box, corners[2]));