summaryrefslogtreecommitdiffstats
path: root/src/display/canvas-arena.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2006-10-14 17:46:24 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2006-10-14 17:46:24 +0000
commit792957dc4cacc0dbeee121bed5b1662e5acf04cd (patch)
tree529804c3d1f352ae36a2a2190edca9bf0e791fd1 /src/display/canvas-arena.cpp
parentgracefully fail if unable to allocate memory or if more than 100Mb buffer req... (diff)
downloadinkscape-792957dc4cacc0dbeee121bed5b1662e5acf04cd.tar.gz
inkscape-792957dc4cacc0dbeee121bed5b1662e5acf04cd.zip
deal with the possible failure to create pixblock due to insufficient memory
(bzr r1800)
Diffstat (limited to 'src/display/canvas-arena.cpp')
-rw-r--r--src/display/canvas-arena.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/display/canvas-arena.cpp b/src/display/canvas-arena.cpp
index 2d192ac1b..84ed621db 100644
--- a/src/display/canvas-arena.cpp
+++ b/src/display/canvas-arena.cpp
@@ -279,8 +279,10 @@ sp_canvas_arena_render (SPCanvasItem *item, SPCanvasBuf *buf)
#ifdef STRICT_RGBA
pb.visible_area = buf->visible_rect;
- nr_arena_item_invoke_render (arena->root, &area, &pb, 0);
- nr_blit_pixblock_pixblock (&cb, &pb);
+ if (pb.data.px != NULL) {
+ nr_arena_item_invoke_render (arena->root, &area, &pb, 0);
+ nr_blit_pixblock_pixblock (&cb, &pb);
+ }
nr_pixblock_release (&pb);
#else
cb.visible_area = buf->visible_rect;