| Index: core/fpdfdoc/cpvt_sectioninfo.h
|
| diff --git a/core/fpdfdoc/cpvt_sectioninfo.h b/core/fpdfdoc/cpvt_sectioninfo.h
|
| index e466ae5006bdf3d2ee5826c916a6860138878311..9d9b99fc279ee7ae0a444c0818c278a8567d310c 100644
|
| --- a/core/fpdfdoc/cpvt_sectioninfo.h
|
| +++ b/core/fpdfdoc/cpvt_sectioninfo.h
|
| @@ -7,48 +7,23 @@
|
| #ifndef CORE_FPDFDOC_CPVT_SECTIONINFO_H_
|
| #define CORE_FPDFDOC_CPVT_SECTIONINFO_H_
|
|
|
| +#include <memory>
|
| +
|
| #include "core/fpdfdoc/cpvt_floatrect.h"
|
| #include "core/fpdfdoc/include/cpvt_secprops.h"
|
| #include "core/fpdfdoc/include/cpvt_wordprops.h"
|
|
|
| struct CPVT_SectionInfo {
|
| - CPVT_SectionInfo()
|
| - : rcSection(), nTotalLine(0), pSecProps(nullptr), pWordProps(nullptr) {}
|
| -
|
| - ~CPVT_SectionInfo() {
|
| - delete pSecProps;
|
| - delete pWordProps;
|
| - }
|
| -
|
| - CPVT_SectionInfo(const CPVT_SectionInfo& other)
|
| - : rcSection(), nTotalLine(0), pSecProps(nullptr), pWordProps(nullptr) {
|
| - operator=(other);
|
| - }
|
| -
|
| - void operator=(const CPVT_SectionInfo& other) {
|
| - if (this == &other)
|
| - return;
|
| -
|
| - rcSection = other.rcSection;
|
| - nTotalLine = other.nTotalLine;
|
| - if (other.pSecProps) {
|
| - if (pSecProps)
|
| - *pSecProps = *other.pSecProps;
|
| - else
|
| - pSecProps = new CPVT_SecProps(*other.pSecProps);
|
| - }
|
| - if (other.pWordProps) {
|
| - if (pWordProps)
|
| - *pWordProps = *other.pWordProps;
|
| - else
|
| - pWordProps = new CPVT_WordProps(*other.pWordProps);
|
| - }
|
| - }
|
| + CPVT_SectionInfo();
|
| + CPVT_SectionInfo(const CPVT_SectionInfo& other);
|
| + ~CPVT_SectionInfo();
|
| +
|
| + void operator=(const CPVT_SectionInfo& other);
|
|
|
| CPVT_FloatRect rcSection;
|
| int32_t nTotalLine;
|
| - CPVT_SecProps* pSecProps;
|
| - CPVT_WordProps* pWordProps;
|
| + std::unique_ptr<CPVT_SecProps> pSecProps;
|
| + std::unique_ptr<CPVT_WordProps> pWordProps;
|
| };
|
|
|
| #endif // CORE_FPDFDOC_CPVT_SECTIONINFO_H_
|
|
|