Code

revert jasper's way overzealous fix in png-write.cpp rev 13700; new fix in item_rende...
[inkscape.git] / src / display / nr-arena.cpp
index a6e33d2dc43ba743e0340ad5cd2ee4f4629a1105..7c0664d16a6b394164e2ec3cc1016ab977aa563b 100644 (file)
@@ -54,6 +54,7 @@ nr_arena_init (NRArena *arena)
        arena->delta = 0; // to be set by desktop from prefs
        arena->rendermode = RENDERMODE_NORMAL; // default is normal render
        arena->outlinecolor = 0xff; // black; to be set by desktop from bg color
+       arena->canvasarena = NULL; 
 }
 
 static void
@@ -109,6 +110,12 @@ nr_arena_render_paintserver_fill (NRPixBlock *pb, NRRectL *area, SPPainter *pain
        NRPixBlock cb, cb_opa;
        nr_pixblock_setup_fast (&cb, NR_PIXBLOCK_MODE_R8G8B8A8N, area->x0, area->y0, area->x1, area->y1, TRUE);
        nr_pixblock_setup_fast (&cb_opa, NR_PIXBLOCK_MODE_R8G8B8A8N, area->x0, area->y0, area->x1, area->y1, TRUE);
+
+        // if memory allocation failed, abort 
+       if ((cb.size != NR_PIXBLOCK_SIZE_TINY && cb.data.px == NULL) || (cb_opa.size != NR_PIXBLOCK_SIZE_TINY && cb_opa.data.px == NULL)) {
+            return;
+        }
+
     cb.visible_area = pb->visible_area; 
     cb_opa.visible_area = pb->visible_area;