summaryrefslogtreecommitdiff
path: root/xfa/fgas/font/fgas_gefont.h
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-09-08 11:47:29 -0700
committerCommit bot <commit-bot@chromium.org>2016-09-08 11:47:29 -0700
commitc29fc707b24b9528e41a242cfa298275708ffc76 (patch)
tree392dcb77aef5657b51a25a632435fcc9787bcc89 /xfa/fgas/font/fgas_gefont.h
parenta31da74cffa8c3ff919051cc49bc006aeb55d345 (diff)
downloadpdfium-c29fc707b24b9528e41a242cfa298275708ffc76.tar.xz
Fix memory management errors for font loading and copying
A few issues are fixed: --Change variable |m_bLogic| in CFX_Font to |m_bShallowCopy| to reflect its meaning better; --For a shallow copy of font, we must guarantee that the copied font will not be deleted until the shallow copy is deleted. So need to increase the src font's refcount when copying it; --The stream |m_pOwnedStream| needs to have matched new/delete These errors need to be fixed before we can properly delete all the fonts to address the leaks. BUG=pdfium:242 Review-Url: https://codereview.chromium.org/2322043002
Diffstat (limited to 'xfa/fgas/font/fgas_gefont.h')
-rw-r--r--xfa/fgas/font/fgas_gefont.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/xfa/fgas/font/fgas_gefont.h b/xfa/fgas/font/fgas_gefont.h
index cdb19338a2..d139d445f4 100644
--- a/xfa/fgas/font/fgas_gefont.h
+++ b/xfa/fgas/font/fgas_gefont.h
@@ -65,7 +65,7 @@ class CFGAS_GEFont {
protected:
explicit CFGAS_GEFont(IFGAS_FontMgr* pFontMgr);
- CFGAS_GEFont(const CFGAS_GEFont& src, uint32_t dwFontStyles);
+ CFGAS_GEFont(CFGAS_GEFont* src, uint32_t dwFontStyles);
#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
FX_BOOL LoadFontInternal(const FX_WCHAR* pszFontFamily,
@@ -94,6 +94,7 @@ class CFGAS_GEFont {
uint32_t m_dwLogFontStyle;
#endif
CFX_Font* m_pFont;
+ CFGAS_GEFont* const m_pSrcFont;
IFGAS_FontMgr* const m_pFontMgr;
int32_t m_iRefCount;
FX_BOOL m_bExtFont;