diff options
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/formfiller/cba_fontmap.cpp | 16 | ||||
-rw-r--r-- | fpdfsdk/formfiller/cba_fontmap.h | 10 | ||||
-rw-r--r-- | fpdfsdk/fpdfppo.cpp | 11 |
3 files changed, 19 insertions, 18 deletions
diff --git a/fpdfsdk/formfiller/cba_fontmap.cpp b/fpdfsdk/formfiller/cba_fontmap.cpp index 273317401d..8bef264085 100644 --- a/fpdfsdk/formfiller/cba_fontmap.cpp +++ b/fpdfsdk/formfiller/cba_fontmap.cpp @@ -58,8 +58,8 @@ void CBA_FontMap::Initialize() { else nCharset = FX_CHARSET_ANSI; } - AddFontData(m_pDefaultFont, m_sDefaultFontName, nCharset); - AddFontToAnnotDict(m_pDefaultFont, m_sDefaultFontName); + AddFontData(m_pDefaultFont.Get(), m_sDefaultFontName, nCharset); + AddFontToAnnotDict(m_pDefaultFont.Get(), m_sDefaultFontName); } } @@ -80,7 +80,7 @@ void CBA_FontMap::SetDefaultFont(CPDF_Font* pFont, int32_t nCharset = FX_CHARSET_Default; if (const CFX_SubstFont* pSubstFont = m_pDefaultFont->GetSubstFont()) nCharset = pSubstFont->m_Charset; - AddFontData(m_pDefaultFont, m_sDefaultFontName, nCharset); + AddFontData(m_pDefaultFont.Get(), m_sDefaultFontName, nCharset); } CPDF_Font* CBA_FontMap::FindFontSameCharset(CFX_ByteString* sFontAlias, @@ -105,7 +105,7 @@ CPDF_Font* CBA_FontMap::FindFontSameCharset(CFX_ByteString* sFontAlias, } CPDF_Document* CBA_FontMap::GetDocument() { - return m_pDocument; + return m_pDocument.Get(); } CPDF_Font* CBA_FontMap::FindResFontSameCharset(CPDF_Dictionary* pResDict, @@ -167,7 +167,7 @@ void CBA_FontMap::AddFontToAnnotDict(CPDF_Font* pFont, CPDF_Stream* pStream = pAPDict->GetStreamFor(m_sAPType); if (!pStream) { pStream = m_pDocument->NewIndirect<CPDF_Stream>(); - pAPDict->SetNewFor<CPDF_Reference>(m_sAPType, m_pDocument, + pAPDict->SetNewFor<CPDF_Reference>(m_sAPType, m_pDocument.Get(), pStream->GetObjNum()); } @@ -185,12 +185,12 @@ void CBA_FontMap::AddFontToAnnotDict(CPDF_Font* pFont, CPDF_Dictionary* pStreamResFontList = pStreamResList->GetDictFor("Font"); if (!pStreamResFontList) { pStreamResFontList = m_pDocument->NewIndirect<CPDF_Dictionary>(); - pStreamResList->SetNewFor<CPDF_Reference>("Font", m_pDocument, + pStreamResList->SetNewFor<CPDF_Reference>("Font", m_pDocument.Get(), pStreamResFontList->GetObjNum()); } if (!pStreamResFontList->KeyExist(sAlias)) { pStreamResFontList->SetNewFor<CPDF_Reference>( - sAlias, m_pDocument, pFont->GetFontDict()->GetObjNum()); + sAlias, m_pDocument.Get(), pFont->GetFontDict()->GetObjNum()); } } @@ -203,7 +203,7 @@ CPDF_Font* CBA_FontMap::GetAnnotDefaultFont(CFX_ByteString* sAlias) { } CFX_ByteString sDA; - CPDF_Object* pObj = FPDF_GetFieldAttr(m_pAnnotDict, "DA"); + CPDF_Object* pObj = FPDF_GetFieldAttr(m_pAnnotDict.Get(), "DA"); if (pObj) sDA = pObj->GetString(); diff --git a/fpdfsdk/formfiller/cba_fontmap.h b/fpdfsdk/formfiller/cba_fontmap.h index 09a5a38116..14aabe4d2a 100644 --- a/fpdfsdk/formfiller/cba_fontmap.h +++ b/fpdfsdk/formfiller/cba_fontmap.h @@ -7,6 +7,7 @@ #ifndef FPDFSDK_FORMFILLER_CBA_FONTMAP_H_ #define FPDFSDK_FORMFILLER_CBA_FONTMAP_H_ +#include "core/fxcrt/cfx_unowned_ptr.h" #include "fpdfsdk/pdfwindow/PWL_FontMap.h" class CPDF_Dictionary; @@ -17,9 +18,8 @@ class CBA_FontMap : public CPWL_FontMap { CBA_FontMap(CPDFSDK_Annot* pAnnot, CFX_SystemHandler* pSystemHandler); ~CBA_FontMap() override; - void SetDefaultFont(CPDF_Font* pFont, const CFX_ByteString& sFontName); - void Reset(); + void SetDefaultFont(CPDF_Font* pFont, const CFX_ByteString& sFontName); void SetAPType(const CFX_ByteString& sAPType); private: @@ -36,9 +36,9 @@ class CBA_FontMap : public CPWL_FontMap { CPDF_Font* GetAnnotDefaultFont(CFX_ByteString* csNameTag); void AddFontToAnnotDict(CPDF_Font* pFont, const CFX_ByteString& sAlias); - CPDF_Document* m_pDocument; - CPDF_Dictionary* m_pAnnotDict; - CPDF_Font* m_pDefaultFont; + CFX_UnownedPtr<CPDF_Document> m_pDocument; + CFX_UnownedPtr<CPDF_Dictionary> m_pAnnotDict; + CFX_UnownedPtr<CPDF_Font> m_pDefaultFont; CFX_ByteString m_sDefaultFontName; CFX_ByteString m_sAPType; }; diff --git a/fpdfsdk/fpdfppo.cpp b/fpdfsdk/fpdfppo.cpp index e2ef406b05..d05fab9c0b 100644 --- a/fpdfsdk/fpdfppo.cpp +++ b/fpdfsdk/fpdfppo.cpp @@ -18,6 +18,7 @@ #include "core/fpdfapi/parser/cpdf_reference.h" #include "core/fpdfapi/parser/cpdf_stream.h" #include "core/fpdfapi/parser/cpdf_string.h" +#include "core/fxcrt/cfx_unowned_ptr.h" #include "fpdfsdk/fsdk_define.h" #include "third_party/base/ptr_util.h" #include "third_party/base/stl_util.h" @@ -137,8 +138,8 @@ class CPDF_PageOrganizer { bool UpdateReference(CPDF_Object* pObj, ObjectNumberMap* pObjNumberMap); uint32_t GetNewObjId(ObjectNumberMap* pObjNumberMap, CPDF_Reference* pRef); - CPDF_Document* m_pDestPDFDoc; - CPDF_Document* m_pSrcPDFDoc; + CFX_UnownedPtr<CPDF_Document> m_pDestPDFDoc; + CFX_UnownedPtr<CPDF_Document> m_pSrcPDFDoc; }; CPDF_PageOrganizer::CPDF_PageOrganizer(CPDF_Document* pDestPDFDoc, @@ -170,7 +171,7 @@ bool CPDF_PageOrganizer::PDFDocInit() { pElement ? ToDictionary(pElement->GetDirect()) : nullptr; if (!pNewPages) { pNewPages = m_pDestPDFDoc->NewIndirect<CPDF_Dictionary>(); - pNewRoot->SetNewFor<CPDF_Reference>("Pages", m_pDestPDFDoc, + pNewRoot->SetNewFor<CPDF_Reference>("Pages", m_pDestPDFDoc.Get(), pNewPages->GetObjNum()); } @@ -181,7 +182,7 @@ bool CPDF_PageOrganizer::PDFDocInit() { if (!pNewPages->GetArrayFor("Kids")) { pNewPages->SetNewFor<CPDF_Number>("Count", 0); pNewPages->SetNewFor<CPDF_Reference>( - "Kids", m_pDestPDFDoc, + "Kids", m_pDestPDFDoc.Get(), m_pDestPDFDoc->NewIndirect<CPDF_Array>()->GetObjNum()); } @@ -260,7 +261,7 @@ bool CPDF_PageOrganizer::UpdateReference(CPDF_Object* pObj, uint32_t newobjnum = GetNewObjId(pObjNumberMap, pReference); if (newobjnum == 0) return false; - pReference->SetRef(m_pDestPDFDoc, newobjnum); + pReference->SetRef(m_pDestPDFDoc.Get(), newobjnum); break; } case CPDF_Object::DICTIONARY: { |