diff options
| author | bulia byak <buliabyak@gmail.com> | 2006-10-14 17:46:24 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2006-10-14 17:46:24 +0000 |
| commit | 792957dc4cacc0dbeee121bed5b1662e5acf04cd (patch) | |
| tree | 529804c3d1f352ae36a2a2190edca9bf0e791fd1 /src/display/nr-arena.cpp | |
| parent | gracefully fail if unable to allocate memory or if more than 100Mb buffer req... (diff) | |
| download | inkscape-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/nr-arena.cpp')
| -rw-r--r-- | src/display/nr-arena.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/display/nr-arena.cpp b/src/display/nr-arena.cpp index a6e33d2dc..ba845d1a2 100644 --- a/src/display/nr-arena.cpp +++ b/src/display/nr-arena.cpp @@ -109,6 +109,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.data.px == NULL || cb_opa.data.px == NULL) { + return; + } + cb.visible_area = pb->visible_area; cb_opa.visible_area = pb->visible_area; |
