summaryrefslogtreecommitdiffstats
path: root/src/display/inkscape-cairo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/display/inkscape-cairo.cpp')
-rw-r--r--src/display/inkscape-cairo.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/display/inkscape-cairo.cpp b/src/display/inkscape-cairo.cpp
index 9a8500885..5d87d39b2 100644
--- a/src/display/inkscape-cairo.cpp
+++ b/src/display/inkscape-cairo.cpp
@@ -46,11 +46,13 @@ nr_create_cairo_context (NRRectL *area, NRPixBlock *pb)
/** Feeds path-creating calls to the cairo context translating them from the SPCurve, with the given transform and shift */
void
-feed_curve_to_cairo (cairo_t *ct, NArtBpath *bpath, NR::Matrix trans, NR::Rect area, bool optimize_stroke, double stroke_width)
+feed_curve_to_cairo (cairo_t *ct, NArtBpath *bpath, NR::Matrix trans, NR::Maybe<NR::Rect> area, bool optimize_stroke, double stroke_width)
{
NR::Point next(0,0), last(0,0);
- NR::Point shift = area.min();
- NR::Rect view = area;
+ if (!area || area->isEmpty())
+ return;
+ NR::Point shift = area->min();
+ NR::Rect view = *area;
view.growBy (stroke_width);
NR::Rect swept;
bool closed = false;