| Index: xfa/fee/fde_txtedtpage.cpp
|
| diff --git a/xfa/fee/fde_txtedtpage.cpp b/xfa/fee/fde_txtedtpage.cpp
|
| index d46e1a11b05b49e234b7bfc6db23d7763f5ccfca..87d128ad5621e176fb76ee065154c792b37d338d 100644
|
| --- a/xfa/fee/fde_txtedtpage.cpp
|
| +++ b/xfa/fee/fde_txtedtpage.cpp
|
| @@ -143,8 +143,6 @@ CFDE_TxtEdtPage::~CFDE_TxtEdtPage() {
|
| m_PieceMassArr.RemoveAll(TRUE);
|
| delete m_pTextSet;
|
| delete[] m_pCharWidth;
|
| - if (m_pIter)
|
| - m_pIter->Release();
|
| }
|
|
|
| void CFDE_TxtEdtPage::Release() {
|
| @@ -357,13 +355,11 @@ int32_t CFDE_TxtEdtPage::SelectWord(const CFX_PointF& fPoint, int32_t& nCount) {
|
| if (nIndex < 0) {
|
| return -1;
|
| }
|
| - CFX_WordBreak* pIter = new CFX_WordBreak;
|
| + std::unique_ptr<CFX_WordBreak> pIter(new CFX_WordBreak);
|
| pIter->Attach(new CFDE_TxtEdtBufIter((CFDE_TxtEdtBuf*)pBuf));
|
| pIter->SetAt(nIndex);
|
| nCount = pIter->GetWordLength();
|
| - int32_t nRet = pIter->GetWordPos();
|
| - pIter->Release();
|
| - return nRet;
|
| + return pIter->GetWordPos();
|
| }
|
| FX_BOOL CFDE_TxtEdtPage::IsLoaded(const CFX_RectF* pClipBox) {
|
| return m_bLoaded;
|
| @@ -376,14 +372,12 @@ int32_t CFDE_TxtEdtPage::LoadPage(const CFX_RectF* pClipBox,
|
| }
|
| CFDE_TxtEdtBuf* pBuf = m_pEditEngine->GetTextBuf();
|
| const FDE_TXTEDTPARAMS* pParams = m_pEditEngine->GetEditParams();
|
| - if (m_pIter != NULL) {
|
| - m_pIter->Release();
|
| - }
|
| FX_WCHAR wcAlias = 0;
|
| if (pParams->dwMode & FDE_TEXTEDITMODE_Password) {
|
| wcAlias = m_pEditEngine->GetAliasChar();
|
| }
|
| - m_pIter = new CFDE_TxtEdtBufIter((CFDE_TxtEdtBuf*)pBuf, wcAlias);
|
| + m_pIter.reset(
|
| + new CFDE_TxtEdtBufIter(static_cast<CFDE_TxtEdtBuf*>(pBuf), wcAlias));
|
| CFX_TxtBreak* pBreak = m_pEditEngine->GetTextBreak();
|
| pBreak->EndBreak(FX_TXTBREAK_ParagraphBreak);
|
| pBreak->ClearBreakPieces();
|
| @@ -429,7 +423,7 @@ int32_t CFDE_TxtEdtPage::LoadPage(const CFX_RectF* pClipBox,
|
| m_nCharCount = nPageEnd - nPageStart + 1;
|
| FX_BOOL bReload = FALSE;
|
| FX_FLOAT fDefCharWidth = 0;
|
| - IFX_CharIter* pIter = m_pIter->Clone();
|
| + std::unique_ptr<IFX_CharIter> pIter(m_pIter->Clone());
|
| pIter->SetAt(nPageStart);
|
| m_pIter->SetAt(nPageStart);
|
| FX_BOOL bFirstPiece = TRUE;
|
| @@ -543,7 +537,6 @@ int32_t CFDE_TxtEdtPage::LoadPage(const CFX_RectF* pClipBox,
|
| FDE_TEXTEDITPIECE* pPiece = m_PieceMassArr.GetPtrAt(nCount - 1);
|
| pPiece->rtPiece.height = pParams->fFontSize;
|
| }
|
| - pIter->Release();
|
| m_nRefCount = 1;
|
| m_bLoaded = TRUE;
|
| return 0;
|
| @@ -560,16 +553,15 @@ void CFDE_TxtEdtPage::UnloadPage(const CFX_RectF* pClipBox) {
|
| m_pTextSet = nullptr;
|
| delete[] m_pCharWidth;
|
| m_pCharWidth = nullptr;
|
| - if (m_pBgnParag)
|
| + if (m_pBgnParag) {
|
| m_pBgnParag->UnloadParag();
|
| - if (m_pEndParag)
|
| + m_pBgnParag = nullptr;
|
| + }
|
| + if (m_pEndParag) {
|
| m_pEndParag->UnloadParag();
|
| - if (m_pIter) {
|
| - m_pIter->Release();
|
| - m_pIter = nullptr;
|
| + m_pEndParag = nullptr;
|
| }
|
| - m_pBgnParag = nullptr;
|
| - m_pEndParag = nullptr;
|
| + m_pIter.reset();
|
| }
|
|
|
| const CFX_RectF& CFDE_TxtEdtPage::GetContentsBox() {
|
|
|