summaryrefslogtreecommitdiff
path: root/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp')
-rw-r--r--core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp11
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(