From 44a3a78fb6a3863c0c7f3c1193837337e68a67e4 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 20 Nov 2008 23:24:08 -0600 Subject: Merge from fe-moved (bzr r6891) --- src/display/canvas-bpath.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/display/canvas-bpath.cpp') 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); } -- cgit v1.2.3