diff options
Diffstat (limited to 'core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp')
-rw-r--r-- | core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp index 80b121a572..da6c74e2c7 100644 --- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp +++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp @@ -161,11 +161,14 @@ void CPDF_PageContentGenerator::UpdateContentStreams( page_content_manager.GetStreamByIndex(stream_index); ASSERT(old_stream); - // TODO(pdfium:1051): Remove streams that are now empty. If buf is empty, - // remove this instead of setting the data. - - old_stream->SetData(buf); + // If buf is now empty, remove the stream instead of setting the data. + if (buf->tellp() <= 0) + page_content_manager.ScheduleRemoveStreamByIndex(stream_index); + else + old_stream->SetData(buf); } + + page_content_manager.ExecuteScheduledRemovals(); } ByteString CPDF_PageContentGenerator::RealizeResource( |