diff options
Diffstat (limited to 'src/extension/internal/cairo-renderer.cpp')
| -rw-r--r-- | src/extension/internal/cairo-renderer.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp index dbda82c28..c7c9d3a61 100644 --- a/src/extension/internal/cairo-renderer.cpp +++ b/src/extension/internal/cairo-renderer.cpp @@ -170,11 +170,13 @@ static void sp_shape_render_invoke_marker_rendering(SPMarker* marker, Geom::Affi if (render) { SPItem* marker_item = sp_item_first_item_child(marker); - tr = (Geom::Affine)marker_item->transform * (Geom::Affine)marker->c2p * tr; - Geom::Affine old_tr = marker_item->transform; - marker_item->transform = tr; - ctx->getRenderer()->renderItem (ctx, marker_item); - marker_item->transform = old_tr; + if (marker_item) { + tr = (Geom::Affine)marker_item->transform * (Geom::Affine)marker->c2p * tr; + Geom::Affine old_tr = marker_item->transform; + marker_item->transform = tr; + ctx->getRenderer()->renderItem (ctx, marker_item); + marker_item->transform = old_tr; + } } } |
