summaryrefslogtreecommitdiffstats
path: root/src/display/canvas-bpath.cpp
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2008-11-21 05:24:08 +0000
committerTed Gould <ted@canonical.com>2008-11-21 05:24:08 +0000
commit44a3a78fb6a3863c0c7f3c1193837337e68a67e4 (patch)
tree1722ee5ec6f88c881cd4124923354b3c1311501b /src/display/canvas-bpath.cpp
parentMerge from trunk (diff)
downloadinkscape-44a3a78fb6a3863c0c7f3c1193837337e68a67e4.tar.gz
inkscape-44a3a78fb6a3863c0c7f3c1193837337e68a67e4.zip
Merge from fe-moved
(bzr r6891)
Diffstat (limited to 'src/display/canvas-bpath.cpp')
-rw-r--r--src/display/canvas-bpath.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/display/canvas-bpath.cpp b/src/display/canvas-bpath.cpp
index 1900ed961..357d67359 100644
--- a/src/display/canvas-bpath.cpp
+++ b/src/display/canvas-bpath.cpp
@@ -143,13 +143,19 @@ sp_canvas_bpath_update (SPCanvasItem *item, Geom::Matrix const &affine, unsigned
cbp->affine = affine;
- Geom::Rect bbox = bounds_exact_transformed(cbp->curve->get_pathvector(), affine);
-
- item->x1 = (int)bbox.min()[Geom::X] - 1;
- item->y1 = (int)bbox.min()[Geom::Y] - 1;
- item->x2 = (int)bbox.max()[Geom::X] + 1;
- item->y2 = (int)bbox.max()[Geom::Y] + 1;
-
+ Geom::OptRect bbox = bounds_exact_transformed(cbp->curve->get_pathvector(), affine);
+
+ if (bbox) {
+ item->x1 = (int)bbox->min()[Geom::X] - 1;
+ item->y1 = (int)bbox->min()[Geom::Y] - 1;
+ item->x2 = (int)bbox->max()[Geom::X] + 1;
+ item->y2 = (int)bbox->max()[Geom::Y] + 1;
+ } else {
+ item->x1 = 0;
+ item->y1 = 0;
+ item->x2 = 0;
+ item->y2 = 0;
+ }
sp_canvas_request_redraw (item->canvas, (int)item->x1, (int)item->y1, (int)item->x2, (int)item->y2);
}