hwpfilter/source/hwpfile.cxx | 2 ++ hwpfilter/source/hwpfile.h | 4 ++++ 2 files changed, 6 insertions(+)
New commits: commit 7e482815b4a719fa4d04f0013c96d8a8063bad21 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Feb 22 16:09:53 2022 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Feb 23 09:32:30 2022 +0100 keep paragraph's that failed to load until import is complete LIBREOFFICE-509JU93T Change-Id: I526edb182fed4fa023cce58e78a650a7c2046ed3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130363 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/hwpfilter/source/hwpfile.cxx b/hwpfilter/source/hwpfile.cxx index 528f00a12f5f..f9d74e896d0d 100644 --- a/hwpfilter/source/hwpfile.cxx +++ b/hwpfilter/source/hwpfile.cxx @@ -238,6 +238,7 @@ void HWPFile::ReadParaList(std::vector < HWPPara* > &aplist) aplist.push_back(spNode.release()); spNode.reset( new HWPPara ); } + pfailedlist.push_back(std::move(spNode)); } void HWPFile::ReadParaList(std::vector< std::unique_ptr<HWPPara> > &aplist, unsigned char flag) @@ -271,6 +272,7 @@ void HWPFile::ReadParaList(std::vector< std::unique_ptr<HWPPara> > &aplist, unsi aplist.push_back(std::move(spNode)); spNode.reset( new HWPPara ); } + pfailedlist.push_back(std::move(spNode)); } void HWPFile::TagsRead() diff --git a/hwpfilter/source/hwpfile.h b/hwpfilter/source/hwpfile.h index 7cb693d948ca..5c9aab9828b1 100644 --- a/hwpfilter/source/hwpfile.h +++ b/hwpfilter/source/hwpfile.h @@ -279,6 +279,10 @@ class DLLEXPORT HWPFile std::vector<std::unique_ptr<ColumnInfo>> columnlist; // paragraph list std::vector<std::unique_ptr<HWPPara>> plist; + // keep paragraph's that failed to load until + // import is complete to avoid dangling references + // elsewhere + std::vector<std::unique_ptr<HWPPara>> pfailedlist; // embedded picture list(tag data) std::vector<std::unique_ptr<EmPicture>> emblist; std::vector<std::unique_ptr<HyperText>> hyperlist;