From b9e0190938f62bf21df078e47190a62ba33ddab2 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 9 Jan 2015 10:46:50 -0800 Subject: Fix -Wnon-virtual-dtor compiler warnings. This is done by explicitly adding a virtual dtor to interface classes, since the cost is small given that there are already virtual functions. The exceptions are for classes that have a Release() or Delete() method, in which case it is non-virtual and protected to indicate that the virtual class is never the deletion point. BUG= R=brucedawson@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/810883005 --- core/include/fpdfdoc/fpdf_ap.h | 3 +-- core/include/fpdfdoc/fpdf_tagged.h | 1 + core/include/fpdfdoc/fpdf_vt.h | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'core/include/fpdfdoc') diff --git a/core/include/fpdfdoc/fpdf_ap.h b/core/include/fpdfdoc/fpdf_ap.h index 78f9676221..02bbf249c4 100644 --- a/core/include/fpdfdoc/fpdf_ap.h +++ b/core/include/fpdfdoc/fpdf_ap.h @@ -13,9 +13,8 @@ class IPVT_FontMap { public: - + virtual ~IPVT_FontMap() { } virtual CPDF_Font* GetPDFFont(FX_INT32 nFontIndex) = 0; - virtual CFX_ByteString GetPDFFontAlias(FX_INT32 nFontIndex) = 0; }; struct CPVT_Dash { diff --git a/core/include/fpdfdoc/fpdf_tagged.h b/core/include/fpdfdoc/fpdf_tagged.h index f3ab01ea28..1a2a5d4ffa 100644 --- a/core/include/fpdfdoc/fpdf_tagged.h +++ b/core/include/fpdfdoc/fpdf_tagged.h @@ -68,6 +68,7 @@ struct CPDF_StructKid { class CPDF_StructElement : public CFX_Object { public: + virtual ~CPDF_StructElement() { } virtual CPDF_StructTree* GetTree() const = 0; diff --git a/core/include/fpdfdoc/fpdf_vt.h b/core/include/fpdfdoc/fpdf_vt.h index 41025cbe2e..3e23c3a1a3 100644 --- a/core/include/fpdfdoc/fpdf_vt.h +++ b/core/include/fpdfdoc/fpdf_vt.h @@ -275,6 +275,7 @@ struct CPVT_Section { class IPDF_VariableText_Provider { public: + virtual ~IPDF_VariableText_Provider() { } virtual FX_INT32 GetCharWidth(FX_INT32 nFontIndex, FX_WORD word, FX_INT32 nWordStyle) = 0; @@ -291,6 +292,7 @@ public: class IPDF_VariableText_Iterator { public: + virtual ~IPDF_VariableText_Iterator() { } virtual FX_BOOL NextWord() = 0; @@ -323,11 +325,9 @@ public: class IPDF_VariableText { public: - static IPDF_VariableText* NewVariableText(); static void DelVariableText(IPDF_VariableText* pVT); -public: virtual IPDF_VariableText_Provider* SetProvider(IPDF_VariableText_Provider * pProvider) = 0; @@ -440,5 +440,8 @@ public: virtual FX_INT32 WordPlaceToWordIndex(const CPVT_WordPlace & place) const = 0; virtual CPVT_WordPlace WordIndexToWordPlace(FX_INT32 index) const = 0; + +protected: + ~IPDF_VariableText() { } }; #endif -- cgit v1.2.3