diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2011-08-06 13:40:27 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2011-08-06 13:40:27 +0000 |
| commit | d44b95520c721d25c79287788bcc51865810051d (patch) | |
| tree | 3b4ff198276ac944942ad9abf329a0e22115a1c0 /src | |
| parent | Document things figured out during the rewriting (diff) | |
| download | inkscape-d44b95520c721d25c79287788bcc51865810051d.tar.gz inkscape-d44b95520c721d25c79287788bcc51865810051d.zip | |
Plug a giant gaping memory leak in Gaussian blur filter
(bzr r10347.1.23)
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/nr-filter-gaussian.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/display/nr-filter-gaussian.cpp b/src/display/nr-filter-gaussian.cpp index 3a6b425e1..a777d76a4 100644 --- a/src/display/nr-filter-gaussian.cpp +++ b/src/display/nr-filter-gaussian.cpp @@ -643,6 +643,13 @@ void FilterGaussian::render_cairo(FilterSlot &slot) } } + // free the temporary data + if ( use_IIR_x || use_IIR_y ) { + for(int i = 0; i < threads; ++i) { + delete[] tmpdata[i]; + } + } + cairo_surface_mark_dirty(downsampled); if (resampling) { cairo_surface_t *upsampled = cairo_surface_create_similar(downsampled, cairo_surface_get_content(downsampled), |
