From 568aff520b4ca33d851317a4ea88807b4fd2da40 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 19 Jun 2015 14:58:28 -0700 Subject: Fix -Wnon-virtual-dtor warnings on the XFA branch. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1183483003. --- core/include/fxcrt/fx_arb.h | 1 + core/include/fxcrt/fx_basic.h | 1 + core/include/fxcrt/fx_stream.h | 12 ++++++------ fpdfsdk/include/fsdk_mgr.h | 2 +- xfa/include/fwl/adapter/fwl_adapterclipboardmgr.h | 5 +++-- xfa/include/fwl/adapter/fwl_adaptercursormgr.h | 2 ++ xfa/include/fwl/adapter/fwl_adaptermonitormgr.h | 4 +++- xfa/include/fwl/adapter/fwl_adapternative.h | 3 ++- xfa/include/fwl/adapter/fwl_adapterthreadmgr.h | 4 +++- xfa/include/fwl/adapter/fwl_adaptertimermgr.h | 4 +++- xfa/include/fwl/adapter/fwl_adapterwidgetmgr.h | 3 ++- xfa/include/fwl/basewidget/fwl_listbox.h | 1 + xfa/include/fwl/basewidget/fxmath_barcode.h | 1 + xfa/include/fwl/core/fwl_form.h | 1 + xfa/include/fwl/core/fwl_note.h | 3 +++ xfa/include/fwl/core/fwl_theme.h | 1 + xfa/include/fwl/core/fwl_timer.h | 1 + xfa/include/fwl/core/fwl_widget.h | 4 ++++ xfa/include/fwl/core/fwl_widgetmgr.h | 2 ++ xfa/src/fdp/include/fde_brs.h | 1 + xfa/src/fdp/include/fde_css.h | 20 ++++++++++++++++++++ xfa/src/fdp/include/fde_img.h | 1 + xfa/src/fdp/include/fde_pen.h | 2 ++ xfa/src/fdp/include/fde_psr.h | 2 ++ xfa/src/fdp/include/fde_pth.h | 1 + xfa/src/fdp/include/fde_rdr.h | 4 +++- xfa/src/fdp/include/fde_rdv.h | 4 +++- xfa/src/fdp/include/fde_tto.h | 2 ++ xfa/src/fdp/include/fde_xml.h | 6 ++++++ xfa/src/fee/include/fx_wordbreak.h | 2 ++ xfa/src/fee/include/ifde_txtedtbuf.h | 3 ++- xfa/src/fee/include/ifde_txtedtengine.h | 4 ++++ xfa/src/fee/src/fee/fde_txtedtengine.h | 1 + xfa/src/fgas/include/fx_cpg.h | 2 ++ xfa/src/fgas/include/fx_datetime.h | 1 + xfa/src/fgas/include/fx_fnt.h | 8 ++++++++ xfa/src/fgas/include/fx_locale.h | 6 +++++- xfa/src/fgas/include/fx_mem.h | 4 ++++ xfa/src/fgas/include/fx_rbk.h | 1 + xfa/src/fgas/include/fx_sax.h | 2 ++ xfa/src/fgas/include/fx_stm.h | 1 + xfa/src/fgas/include/fx_tbk.h | 3 +++ xfa/src/fwl/src/basewidget/include/fwl_caretimp.h | 1 + xfa/src/fwl/src/core/include/fwl_noteimp.h | 4 +++- xfa/src/fwl/src/core/include/fwl_widgetimp.h | 1 + xfa/src/fwl/src/core/include/fwl_widgetmgrimp.h | 4 +++- xfa/src/fxfa/src/app/xfa_checksum.h | 2 +- xfa/src/fxfa/src/app/xfa_ffdocview.h | 4 ++-- xfa/src/fxfa/src/app/xfa_fwladapter.h | 1 + xfa/src/fxfa/src/app/xfa_textlayout.h | 1 + xfa/src/fxfa/src/common/xfa_docdata.h | 2 ++ xfa/src/fxfa/src/common/xfa_doclayout.h | 1 + xfa/src/fxfa/src/common/xfa_document.h | 2 ++ xfa/src/fxfa/src/common/xfa_localemgr.h | 4 +++- xfa/src/fxfa/src/common/xfa_parser.h | 2 ++ xfa/src/fxfa/src/common/xfa_script.h | 3 ++- 56 files changed, 143 insertions(+), 25 deletions(-) diff --git a/core/include/fxcrt/fx_arb.h b/core/include/fxcrt/fx_arb.h index 5d3b0eb7da..3886ac3aae 100644 --- a/core/include/fxcrt/fx_arb.h +++ b/core/include/fxcrt/fx_arb.h @@ -49,6 +49,7 @@ class IFX_ArabicChar { public: static IFX_ArabicChar* Create(); + virtual ~IFX_ArabicChar() {} virtual void Release() = 0; virtual FX_BOOL IsArabicChar(FX_WCHAR wch) const = 0; virtual FX_BOOL IsArabicFormChar(FX_WCHAR wch) const = 0; diff --git a/core/include/fxcrt/fx_basic.h b/core/include/fxcrt/fx_basic.h index cbd9cd85a8..b5a110b86f 100644 --- a/core/include/fxcrt/fx_basic.h +++ b/core/include/fxcrt/fx_basic.h @@ -1576,6 +1576,7 @@ typedef enum { class IFX_Unknown { public: + virtual ~IFX_Unknown() {} virtual FX_DWORD Release() = 0; virtual FX_DWORD AddRef() = 0; }; diff --git a/core/include/fxcrt/fx_stream.h b/core/include/fxcrt/fx_stream.h index c5d7b40df1..836cd272ae 100644 --- a/core/include/fxcrt/fx_stream.h +++ b/core/include/fxcrt/fx_stream.h @@ -67,9 +67,8 @@ FX_BOOL FX_File_Move(const CFX_WideStringC& fileNameSrc, const CFX_WideStringC& class IFX_StreamWrite { public: - virtual ~IFX_StreamWrite() { } + virtual ~IFX_StreamWrite() {} virtual void Release() = 0; - virtual FX_BOOL WriteBlock(const void* pData, size_t size) = 0; }; class IFX_FileWrite : public IFX_StreamWrite @@ -167,10 +166,11 @@ IFX_FileStream* FX_CreateFileStream(const FX_WCHAR* filename, FX_DWORD dwModes) class IFX_FileAccess { public: - virtual void Release() = 0; - virtual IFX_FileAccess* Retain() = 0; - virtual void GetPath(CFX_WideString& wsPath) = 0; - virtual IFX_FileStream* CreateFileStream(FX_DWORD dwModes) = 0; + virtual ~IFX_FileAccess() {} + virtual void Release() = 0; + virtual IFX_FileAccess* Retain() = 0; + virtual void GetPath(CFX_WideString& wsPath) = 0; + virtual IFX_FileStream* CreateFileStream(FX_DWORD dwModes) = 0; }; IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath); class IFX_MemoryStream : public IFX_FileStream diff --git a/fpdfsdk/include/fsdk_mgr.h b/fpdfsdk/include/fsdk_mgr.h index eb557f5830..4d7b80012d 100644 --- a/fpdfsdk/include/fsdk_mgr.h +++ b/fpdfsdk/include/fsdk_mgr.h @@ -34,7 +34,7 @@ class CPDFDoc_Environment final { public: CPDFDoc_Environment(CPDFXFA_Document * pDoc); - ~CPDFDoc_Environment(); + virtual ~CPDFDoc_Environment(); int RegAppHandle(FPDF_FORMFILLINFO* pFFinfo); diff --git a/xfa/include/fwl/adapter/fwl_adapterclipboardmgr.h b/xfa/include/fwl/adapter/fwl_adapterclipboardmgr.h index 943d7caa12..55250f30de 100644 --- a/xfa/include/fwl/adapter/fwl_adapterclipboardmgr.h +++ b/xfa/include/fwl/adapter/fwl_adapterclipboardmgr.h @@ -6,8 +6,7 @@ #ifndef _FWL_ADAPTER_CLIPBOARDMGR_H #define _FWL_ADAPTER_CLIPBOARDMGR_H -class IFWL_Widget; -class IFWL_AdapterClipboardMgr; + enum FWL_CLIPBOARDFORMAT { FWL_CLIPBOARDFORMAT_Dib, FWL_CLIPBOARDFORMAT_Text, @@ -16,9 +15,11 @@ enum FWL_CLIPBOARDFORMAT { typedef struct _FWL_HCLIPBOARDDATA { void* pData; } * FWL_HCLIPBOARDDATA; + class IFWL_AdapterClipboardMgr { public: + virtual ~IFWL_AdapterClipboardMgr() {} virtual FWL_ERR Empty() = 0; virtual FX_BOOL IsDataAvailable(FX_DWORD dwFormat) = 0; virtual FWL_HCLIPBOARDDATA GetData(FX_DWORD dwFormat) = 0; diff --git a/xfa/include/fwl/adapter/fwl_adaptercursormgr.h b/xfa/include/fwl/adapter/fwl_adaptercursormgr.h index 7b7b567be1..b03be66cca 100644 --- a/xfa/include/fwl/adapter/fwl_adaptercursormgr.h +++ b/xfa/include/fwl/adapter/fwl_adaptercursormgr.h @@ -25,9 +25,11 @@ enum FWL_CURSORTYPE { typedef struct _FWL_HCURSOR { void* pData; } *FWL_HCURSOR; + class IFWL_AdapterCursorMgr { public: + virtual ~IFWL_AdapterCursorMgr() {} virtual FWL_HCURSOR GetSystemCursor(FWL_CURSORTYPE eCursorType) = 0; virtual FWL_HCURSOR GetCustomCursor(const CFX_DIBitmap *pBitmap, FX_FLOAT xHotspot = 0, FX_FLOAT yHotspot = 0) = 0; virtual FWL_ERR SetCursor(FWL_HCURSOR hCursor) = 0; diff --git a/xfa/include/fwl/adapter/fwl_adaptermonitormgr.h b/xfa/include/fwl/adapter/fwl_adaptermonitormgr.h index 3da0564225..77822543d0 100644 --- a/xfa/include/fwl/adapter/fwl_adaptermonitormgr.h +++ b/xfa/include/fwl/adapter/fwl_adaptermonitormgr.h @@ -6,13 +6,15 @@ #ifndef _FWL_ADAPTER_MONITORMGR_H #define _FWL_ADAPTER_MONITORMGR_H -class IFWL_AdapterMonitorMgr; + typedef struct _FWL_HMONITOR { void* pData; } *FWL_HMONITOR; + class IFWL_AdapterMonitorMgr { public: + virtual ~IFWL_AdapterMonitorMgr() {} virtual int32_t CountMonitors() = 0; virtual FWL_HMONITOR GetMonitor(int32_t nIndex) = 0; virtual FWL_HMONITOR GetCurrentMonitor() = 0; diff --git a/xfa/include/fwl/adapter/fwl_adapternative.h b/xfa/include/fwl/adapter/fwl_adapternative.h index 55532945f9..cc348bf833 100644 --- a/xfa/include/fwl/adapter/fwl_adapternative.h +++ b/xfa/include/fwl/adapter/fwl_adapternative.h @@ -13,10 +13,11 @@ class IFWL_AdapterTimerMgr; class IFWL_AdapterCursorMgr; class IFWL_AdapterMonitorMgr; class IFWL_AdapterClipboardMgr; -class IFWL_AdapterNative; + class IFWL_AdapterNative { public: + virtual ~IFWL_AdapterNative() {} virtual IFWL_AdapterWidgetMgr* GetWidgetMgr(IFWL_WidgetMgrDelegate *pDelegate) = 0; virtual IFWL_AdapterThreadMgr* GetThreadMgr() = 0; virtual IFWL_AdapterTimerMgr* GetTimerMgr() = 0; diff --git a/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h b/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h index f3e01855b0..ba2febfdb4 100644 --- a/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h +++ b/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h @@ -7,12 +7,13 @@ #ifndef _FWL_ADAPTER_THREAD_H #define _FWL_ADAPTER_THREAD_H class IFWL_Thread; -class IFWL_AdapterThreadMgr; class IFWL_AdapterMutex; class IFWL_AdapterSemaphore; + class IFWL_AdapterThreadMgr { public: + virtual ~IFWL_AdapterThreadMgr() {} virtual FWL_ERR Start(IFWL_Thread *pThread, FWL_HTHREAD &hThread, FX_BOOL bSuspended = FALSE) = 0; virtual FWL_ERR Resume(FWL_HTHREAD hThread) = 0; virtual FWL_ERR Suspend(FWL_HTHREAD hThread) = 0; @@ -23,6 +24,7 @@ public: class IFWL_AdapterSemaphore { public: + virtual ~IFWL_AdapterSemaphore() {} static IFWL_AdapterSemaphore * Create(); virtual FWL_ERR Destroy() = 0; virtual FWL_ERR Wait() const = 0; diff --git a/xfa/include/fwl/adapter/fwl_adaptertimermgr.h b/xfa/include/fwl/adapter/fwl_adaptertimermgr.h index 4c7f7e76dc..f3dce811fa 100644 --- a/xfa/include/fwl/adapter/fwl_adaptertimermgr.h +++ b/xfa/include/fwl/adapter/fwl_adaptertimermgr.h @@ -6,11 +6,13 @@ #ifndef _FWL_ADAPTER_TIMERMGR_H #define _FWL_ADAPTER_TIMERMGR_H + class IFWL_Timer; -class IFWL_AdapterTimerMgr; + class IFWL_AdapterTimerMgr { public: + virtual ~IFWL_AdapterTimerMgr() {} virtual FWL_ERR Start(IFWL_Timer *pTimer, FX_DWORD dwElapse, FWL_HTIMER &hTimer, FX_BOOL bImmediately = TRUE) = 0; virtual FWL_ERR Stop(FWL_HTIMER hTimer) = 0; }; diff --git a/xfa/include/fwl/adapter/fwl_adapterwidgetmgr.h b/xfa/include/fwl/adapter/fwl_adapterwidgetmgr.h index 603e931084..29e91bab8c 100644 --- a/xfa/include/fwl/adapter/fwl_adapterwidgetmgr.h +++ b/xfa/include/fwl/adapter/fwl_adapterwidgetmgr.h @@ -11,12 +11,13 @@ class IFWL_Menu; class IFWL_MenuDP; class CFX_Path; class CFX_DIBitmap; -class IFWL_AdapterWidgetMgr; class IFWL_AdapterMessageHook; class IFWL_AppDelegate; + class IFWL_AdapterWidgetMgr { public: + virtual ~IFWL_AdapterWidgetMgr() {} virtual FWL_ERR CreateWidget(IFWL_Widget *pWidget, IFWL_Widget *pParent = NULL) = 0; virtual FWL_ERR DestroyWidget(IFWL_Widget *pWidget) = 0; virtual FWL_ERR GetWidgetRect(IFWL_Widget *pWidget, CFX_RectF &rect) = 0; diff --git a/xfa/include/fwl/basewidget/fwl_listbox.h b/xfa/include/fwl/basewidget/fwl_listbox.h index 3d0fa116ce..4ab4e46c10 100644 --- a/xfa/include/fwl/basewidget/fwl_listbox.h +++ b/xfa/include/fwl/basewidget/fwl_listbox.h @@ -88,6 +88,7 @@ public: class IFWL_ListBoxCompare { public: + virtual ~IFWL_ListBoxCompare() {} virtual int32_t Compare(FWL_HLISTITEM hLeft, FWL_HLISTITEM hRight) = 0; }; class IFWL_ListBox : public IFWL_Widget diff --git a/xfa/include/fwl/basewidget/fxmath_barcode.h b/xfa/include/fwl/basewidget/fxmath_barcode.h index 15babc8253..5e78940958 100644 --- a/xfa/include/fwl/basewidget/fxmath_barcode.h +++ b/xfa/include/fwl/basewidget/fxmath_barcode.h @@ -9,6 +9,7 @@ class IFX_Barcode { public: + virtual ~IFX_Barcode() {} virtual void Release() = 0; virtual BC_TYPE GetType() = 0; virtual FX_BOOL Encode(const CFX_WideStringC& contents, FX_BOOL isDevice, int32_t &e) = 0; diff --git a/xfa/include/fwl/core/fwl_form.h b/xfa/include/fwl/core/fwl_form.h index eb0b083008..e9a8323f20 100644 --- a/xfa/include/fwl/core/fwl_form.h +++ b/xfa/include/fwl/core/fwl_form.h @@ -42,6 +42,7 @@ class IFWL_Form; #define FWL_PARTSTATE_FRM_Pressed 3 #define FWL_PARTSTATE_FRM_Inactive 4 #define FWL_PARTSTATE_FRM_Disabled 5 + class IFWL_FormDP : public IFWL_DataProvider { public: diff --git a/xfa/include/fwl/core/fwl_note.h b/xfa/include/fwl/core/fwl_note.h index ea8328fffb..c423cd5a24 100644 --- a/xfa/include/fwl/core/fwl_note.h +++ b/xfa/include/fwl/core/fwl_note.h @@ -346,6 +346,7 @@ typedef enum { class IFWL_NoteDriver { public: + virtual ~IFWL_NoteDriver() {} virtual FX_BOOL SendNote(CFWL_Note *pNote) = 0; virtual FX_BOOL PostMessage(CFWL_Message *pMessage) = 0; virtual FWL_ERR RegisterEventTarget(IFWL_Widget *pListener, IFWL_Widget *pEventSource = NULL, FX_DWORD dwFilter = FWL_EVENT_ALL_MASK) = 0; @@ -363,12 +364,14 @@ IFWL_Widget* FWL_GetCurrentThreadModalWidget(IFWL_NoteThread *pNoteThread); class IFWL_NoteLoop { public: + virtual ~IFWL_NoteLoop() {} virtual FX_BOOL PreProcessMessage(CFWL_Message *pMessage) = 0; virtual FWL_ERR Idle(int32_t count) = 0; }; class IFWL_ToolTipTarget { public: + virtual ~IFWL_ToolTipTarget() {} virtual IFWL_Widget* GetWidget() = 0; virtual FX_BOOL IsShowed() = 0; virtual FWL_ERR DrawToolTip(CFX_Graphics *pGraphics, const CFX_Matrix *pMatrix, IFWL_Widget *pToolTip) = 0; diff --git a/xfa/include/fwl/core/fwl_theme.h b/xfa/include/fwl/core/fwl_theme.h index 9ab970b47c..94e81771a9 100644 --- a/xfa/include/fwl/core/fwl_theme.h +++ b/xfa/include/fwl/core/fwl_theme.h @@ -75,6 +75,7 @@ public: class IFWL_ThemeProvider { public: + virtual ~IFWL_ThemeProvider() {} virtual FX_BOOL IsValidWidget(IFWL_Widget *pWidget) = 0; virtual FX_DWORD GetThemeID(IFWL_Widget *pWidget) = 0; virtual FX_DWORD SetThemeID(IFWL_Widget *pWidget, FX_DWORD dwThemeID, FX_BOOL bChildren = TRUE) = 0; diff --git a/xfa/include/fwl/core/fwl_timer.h b/xfa/include/fwl/core/fwl_timer.h index a12f92a9d3..eae5bf48b4 100644 --- a/xfa/include/fwl/core/fwl_timer.h +++ b/xfa/include/fwl/core/fwl_timer.h @@ -13,6 +13,7 @@ typedef struct _FWL_HTIMER { class IFWL_Timer { public: + virtual ~IFWL_Timer() {} virtual int32_t Run(FWL_HTIMER hTimer) = 0; }; FWL_HTIMER FWL_StartTimer(IFWL_Timer *pTimer, FX_DWORD dwElapse, FX_BOOL bImmediately = TRUE); diff --git a/xfa/include/fwl/core/fwl_widget.h b/xfa/include/fwl/core/fwl_widget.h index b6377cdc9f..6c3164c5e0 100644 --- a/xfa/include/fwl/core/fwl_widget.h +++ b/xfa/include/fwl/core/fwl_widget.h @@ -15,9 +15,11 @@ class IFWL_WidgetDelegate; class IFWL_Custom; class IFWL_Proxy; class IFWL_Form; + class IFWL_DataProvider { public: + virtual ~IFWL_DataProvider() {} virtual FWL_ERR GetCaption(IFWL_Widget *pWidget, CFX_WideString &wsCaption) = 0; }; class IFWL_Widget : public IFWL_Target @@ -59,6 +61,7 @@ public: class IFWL_WidgetDelegate { public: + virtual ~IFWL_WidgetDelegate() {} virtual int32_t OnProcessMessage(CFWL_Message *pMessage) = 0; virtual FWL_ERR OnProcessEvent(CFWL_Event *pEvent) = 0; virtual FWL_ERR OnDrawWidget(CFX_Graphics *pGraphics, const CFX_Matrix *pMatrix = NULL) = 0; @@ -103,6 +106,7 @@ protected: class IFWL_Proxy { public: + virtual ~IFWL_Proxy() {} virtual FWL_ERR GetWidgetRect(CFX_RectF &rect, FX_BOOL bAutoSize = FALSE) = 0; virtual FWL_ERR Update() = 0; }; diff --git a/xfa/include/fwl/core/fwl_widgetmgr.h b/xfa/include/fwl/core/fwl_widgetmgr.h index 95ff26a84c..f658476636 100644 --- a/xfa/include/fwl/core/fwl_widgetmgr.h +++ b/xfa/include/fwl/core/fwl_widgetmgr.h @@ -23,6 +23,7 @@ enum FWL_WGTRELATION { class IFWL_WidgetMgr { public: + virtual ~IFWL_WidgetMgr() {} virtual int32_t CountWidgets(IFWL_Widget *pParent = NULL) = 0; virtual IFWL_Widget* GetWidget(int32_t nIndex, IFWL_Widget *pParent = NULL) = 0; virtual IFWL_Widget* GetWidget(IFWL_Widget *pWidget, FWL_WGTRELATION eRelation) = 0; @@ -39,6 +40,7 @@ FX_BOOL FWL_WidgetIsChild(IFWL_Widget *parent, IFWL_Widget *find); class IFWL_WidgetMgrDelegate { public: + virtual ~IFWL_WidgetMgrDelegate() {} virtual FWL_ERR OnSetCapability(FX_DWORD dwCapability = FWL_WGTMGR_DisableThread) = 0; virtual int32_t OnProcessMessageToForm(CFWL_Message *pMessage) = 0; virtual FWL_ERR OnDrawWidget(IFWL_Widget *pWidget, CFX_Graphics *pGraphics, const CFX_Matrix *pMatrix = NULL) = 0; diff --git a/xfa/src/fdp/include/fde_brs.h b/xfa/src/fdp/include/fde_brs.h index dacf31fd2a..d310c55749 100644 --- a/xfa/src/fdp/include/fde_brs.h +++ b/xfa/src/fdp/include/fde_brs.h @@ -34,6 +34,7 @@ class IFDE_Brush { public: static IFDE_Brush* Create(int32_t iType); + virtual ~IFDE_Brush() {} virtual void Release() = 0; virtual int32_t GetType() const = 0; }; diff --git a/xfa/src/fdp/include/fde_css.h b/xfa/src/fdp/include/fde_css.h index 96d49250b9..ad8ffc01a5 100644 --- a/xfa/src/fdp/include/fde_css.h +++ b/xfa/src/fdp/include/fde_css.h @@ -230,6 +230,7 @@ enum FDE_CSSPROPERTYVALUE { class IFDE_CSSValue { public: + virtual ~IFDE_CSSValue() {} virtual FDE_CSSVALUETYPE GetType() const = 0; }; class IFDE_CSSPrimitiveValue : public IFDE_CSSValue @@ -375,6 +376,7 @@ enum FDE_CSSPROPERTY { class IFDE_CSSDeclaration { public: + virtual ~IFDE_CSSDeclaration() {} virtual IFDE_CSSValue* GetProperty(FDE_CSSPROPERTY eProperty, FX_BOOL &bImportant) const = 0; virtual FX_POSITION GetStartPosition() const = 0; virtual void GetNextProperty(FX_POSITION &pos, FDE_CSSPROPERTY &eProperty, IFDE_CSSValue *&pValue, FX_BOOL &bImportant) const = 0; @@ -397,6 +399,7 @@ enum FDE_CSSSELECTORTYPE { class IFDE_CSSSelector { public: + virtual ~IFDE_CSSSelector() {} virtual FDE_CSSSELECTORTYPE GetType() const = 0; virtual FX_DWORD GetNameHash() const = 0; virtual IFDE_CSSSelector* GetNextSelector() const = 0; @@ -419,6 +422,7 @@ enum FDE_CSSRULETYPE { class IFDE_CSSRule { public: + virtual ~IFDE_CSSRule() {} virtual FDE_CSSRULETYPE GetType() const = 0; }; typedef CFX_MassArrayTemplate CFDE_CSSRuleArray; @@ -473,6 +477,7 @@ class IFDE_CSSStyleSheetCache { public: static IFDE_CSSStyleSheetCache* Create(); + virtual ~IFDE_CSSStyleSheetCache() {} virtual void Release() = 0; virtual void SetMaxItems(int32_t iMaxCount = 5) = 0; virtual void AddStyleSheet(const CFX_ByteStringC& szKey, IFDE_CSSStyleSheet *pStyleSheet) = 0; @@ -502,6 +507,7 @@ class IFDE_CSSSyntaxParser { public: static IFDE_CSSSyntaxParser* Create(); + virtual ~IFDE_CSSSyntaxParser() {} virtual void Release() = 0; virtual FX_BOOL Init(IFX_Stream *pStream, int32_t iCSSPlaneSize, int32_t iTextDataSize = 32, FX_BOOL bOnlyDeclaration = FALSE) = 0; virtual FX_BOOL Init(const FX_WCHAR* pBuffer, int32_t iBufferSize, int32_t iTextDatSize = 32, FX_BOOL bOnlyDeclaration = FALSE) = 0; @@ -842,6 +848,7 @@ enum FDE_CSSTEXTDECORATION { class IFDE_CSSRubyStyle { public: + virtual ~IFDE_CSSRubyStyle() {} virtual FDE_CSSRUBYALIGN GetRubyAlign() const = 0; virtual FDE_CSSRUBYOVERHANG GetRubyOverhang() const = 0; virtual FDE_CSSRUBYPOSITION GetRubyPosition() const = 0; @@ -851,6 +858,7 @@ public: class IFDE_CSSMultiColumnStyle { public: + virtual ~IFDE_CSSMultiColumnStyle() {} virtual const FDE_CSSLENGTH& GetColumnCount() const = 0; virtual const FDE_CSSLENGTH& GetColumnGap() const = 0; virtual FX_ARGB GetColumnRuleColor() const = 0; @@ -867,6 +875,7 @@ public: class IFDE_CSSGeneratedContentStyle { public: + virtual ~IFDE_CSSGeneratedContentStyle() {} virtual int32_t CountCounters() = 0; virtual const FX_WCHAR* GetCounterIdentifier(int32_t index) = 0; virtual FX_BOOL GetCounterReset(int32_t index, int32_t &iValue) = 0; @@ -878,6 +887,7 @@ public: class IFDE_CSSFontStyle { public: + virtual ~IFDE_CSSFontStyle() {} virtual int32_t CountFontFamilies() const = 0; virtual const FX_WCHAR* GetFontFamily(int32_t index) const = 0; virtual FX_WORD GetFontWeight() const = 0; @@ -894,6 +904,7 @@ public: class IFDE_CSSBoundaryStyle { public: + virtual ~IFDE_CSSBoundaryStyle() {} virtual FX_ARGB GetBorderLeftColor() const = 0; virtual FX_ARGB GetBorderTopColor() const = 0; virtual FX_ARGB GetBorderRightColor() const = 0; @@ -922,6 +933,7 @@ public: class IFDE_CSSPositionStyle { public: + virtual ~IFDE_CSSPositionStyle() {} virtual FDE_CSSDISPLAY GetDisplay() const = 0; virtual const FDE_CSSSIZE& GetBoxSize() const = 0; virtual const FDE_CSSSIZE& GetMinBoxSize() const = 0; @@ -943,6 +955,7 @@ public: class IFDE_CSSParagraphStyle { public: + virtual ~IFDE_CSSParagraphStyle() {} virtual FX_FLOAT GetLineHeight() const = 0; virtual FDE_CSSWHITESPACE GetWhiteSpace() const = 0; virtual const FDE_CSSLENGTH& GetTextIndent() const = 0; @@ -991,6 +1004,7 @@ public: class IFDE_CSSBackgroundStyle { public: + virtual ~IFDE_CSSBackgroundStyle() {} virtual FX_ARGB GetBKGColor() const = 0; virtual const FX_WCHAR* GetBKGImage() const = 0; virtual FDE_CSSBKGREPEAT GetBKGRepeat() const = 0; @@ -1002,6 +1016,7 @@ public: class IFDE_CSSListStyle { public: + virtual ~IFDE_CSSListStyle() {} virtual FDE_CSSLISTSTYLETYPE GetListStyleType() const = 0; virtual FDE_CSSLISTSTYLEPOSITION GetListStylePosition() const = 0; virtual const FX_WCHAR* GetListStyleImage() const = 0; @@ -1011,11 +1026,13 @@ public: class IFDE_CSSTableStyle { public: + virtual ~IFDE_CSSTableStyle() {} virtual FDE_CSSCAPTIONSIDE GetCaptionSide() const = 0; }; class IFDE_CSSVisualStyle { public: + virtual ~IFDE_CSSVisualStyle() {} virtual FDE_CSSVISIBILITY GetVisibility() const = 0; virtual FDE_CSSOVERFLOW GetOverflowX() const = 0; virtual FDE_CSSOVERFLOW GetOverflowY() const = 0; @@ -1053,6 +1070,7 @@ enum FDE_CSSSTYLESHEETPRIORITY { class IFDE_CSSTagProvider { public: + virtual ~IFDE_CSSTagProvider() {} virtual CFX_WideStringC GetTagName() = 0; virtual FX_POSITION GetFirstAttribute() = 0; virtual void GetNextAttribute(FX_POSITION &pos, CFX_WideStringC &wsAttr, CFX_WideStringC &wsValue) = 0; @@ -1060,6 +1078,7 @@ public: class IFDE_CSSAccelerator { public: + virtual ~IFDE_CSSAccelerator() {} virtual void OnEnterTag(IFDE_CSSTagProvider *pTag) = 0; virtual void OnLeaveTag(IFDE_CSSTagProvider *pTag) = 0; }; @@ -1067,6 +1086,7 @@ class IFDE_CSSStyleSelector { public: static IFDE_CSSStyleSelector* Create(); + virtual ~IFDE_CSSStyleSelector() {} virtual void Release() = 0; virtual void SetFontMgr(IFX_FontMgr *pFontMgr) = 0; virtual void SetDefFontSize(FX_FLOAT fFontSize) = 0; diff --git a/xfa/src/fdp/include/fde_img.h b/xfa/src/fdp/include/fde_img.h index 92ed9daac6..f5ffda6a5a 100644 --- a/xfa/src/fdp/include/fde_img.h +++ b/xfa/src/fdp/include/fde_img.h @@ -19,6 +19,7 @@ class IFDE_Image { public: static IFDE_Image* Create(IFX_Stream *pStream, int32_t iFormat = FDE_IMAGEFORMAT_Unknown); + virtual ~IFDE_Image() {} virtual void Release() = 0; virtual FX_BOOL LoadImage() = 0; virtual void FreeImage() = 0; diff --git a/xfa/src/fdp/include/fde_pen.h b/xfa/src/fdp/include/fde_pen.h index 074dc3c3e7..30f06ab70b 100644 --- a/xfa/src/fdp/include/fde_pen.h +++ b/xfa/src/fdp/include/fde_pen.h @@ -31,10 +31,12 @@ typedef struct _FDE_COMPOUNDPATTERN { } FDE_COMPOUNDPATTERN, * FDE_LPCOMPOUNDPATTERN; typedef FDE_COMPOUNDPATTERN const * FDE_LPCCOMPOUNDPATTERN; typedef CFX_ArrayTemplate CFDE_CompoundPatterns; + class IFDE_Pen { public: static IFDE_Pen* Create(); + virtual ~IFDE_Pen() {} virtual void Release() = 0; virtual int32_t GetType() const = 0; virtual FX_ARGB GetColor() const = 0; diff --git a/xfa/src/fdp/include/fde_psr.h b/xfa/src/fdp/include/fde_psr.h index 9934cfae09..121b88b16b 100644 --- a/xfa/src/fdp/include/fde_psr.h +++ b/xfa/src/fdp/include/fde_psr.h @@ -19,6 +19,7 @@ typedef struct _FDE_HVISUALOBJ { class IFDE_VisualSet { public: + virtual ~IFDE_VisualSet() {} virtual FDE_VISUALOBJTYPE GetType() = 0; virtual FX_BOOL GetBBox(FDE_HVISUALOBJ hVisualObj, CFX_RectF &bbox) = 0; virtual FX_BOOL GetMatrix(FDE_HVISUALOBJ hVisualObj, CFX_Matrix &matrix) = 0; @@ -85,6 +86,7 @@ class IFDE_VisualSetIterator { public: static IFDE_VisualSetIterator* Create(); + virtual ~IFDE_VisualSetIterator() {} virtual void Release() = 0; virtual FX_BOOL AttachCanvas(IFDE_CanvasSet *pCanvas) = 0; virtual FX_BOOL FilterObjects(FX_DWORD dwObjects = 0xFFFFFFFF) = 0; diff --git a/xfa/src/fdp/include/fde_pth.h b/xfa/src/fdp/include/fde_pth.h index be3cc8d50e..5aa9997484 100644 --- a/xfa/src/fdp/include/fde_pth.h +++ b/xfa/src/fdp/include/fde_pth.h @@ -11,6 +11,7 @@ class IFDE_Path { public: static IFDE_Path* Create(); + virtual ~IFDE_Path() {} virtual void Release() = 0; virtual FX_BOOL StartFigure() = 0; virtual FX_BOOL CloseFigure() = 0; diff --git a/xfa/src/fdp/include/fde_rdr.h b/xfa/src/fdp/include/fde_rdr.h index cbae1c26fa..aef459f24d 100644 --- a/xfa/src/fdp/include/fde_rdr.h +++ b/xfa/src/fdp/include/fde_rdr.h @@ -8,7 +8,7 @@ #define _FDE_RENDERCONTEXT class IFDE_Page; class IFDE_RenderDevice; -class IFDE_RenderContext; + void FDE_GetPageMatrix(CFX_Matrix &pageMatrix, const CFX_RectF &docPageRect, const CFX_Rect &devicePageRect, int32_t iRotate, FX_DWORD dwCoordinatesType = 0); enum FDE_RENDERSTATUS { FDE_RENDERSTATUS_Reset = 0, @@ -16,10 +16,12 @@ enum FDE_RENDERSTATUS { FDE_RENDERSTATUS_Done , FDE_RENDERSTATUS_Failed , }; + class IFDE_RenderContext { public: static IFDE_RenderContext* Create(); + virtual ~IFDE_RenderContext() {} virtual void Release() = 0; virtual FX_BOOL StartRender(IFDE_RenderDevice *pRenderDevice, IFDE_CanvasSet *pCanvasSet, diff --git a/xfa/src/fdp/include/fde_rdv.h b/xfa/src/fdp/include/fde_rdv.h index 41e8d5c43d..4b02f22ba7 100644 --- a/xfa/src/fdp/include/fde_rdv.h +++ b/xfa/src/fdp/include/fde_rdv.h @@ -11,15 +11,17 @@ class IFDE_Brush; class IFDE_Image; class CFX_DIBitmap; class CFX_DIBSource; -class IFDE_RenderDevice; + typedef struct _FDE_HDEVICESTATE { void* pData; } * FDE_HDEVICESTATE; + class IFDE_RenderDevice { public: static IFDE_RenderDevice* Create(CFX_DIBitmap *pBitmap, FX_BOOL bRgbByteOrder = FALSE); static IFDE_RenderDevice* Create(CFX_RenderDevice *pDevice); + virtual ~IFDE_RenderDevice() {} virtual void Release() = 0; virtual int32_t GetWidth() const = 0; diff --git a/xfa/src/fdp/include/fde_tto.h b/xfa/src/fdp/include/fde_tto.h index ec27490cfd..052f221238 100644 --- a/xfa/src/fdp/include/fde_tto.h +++ b/xfa/src/fdp/include/fde_tto.h @@ -31,10 +31,12 @@ class IFDE_TextOut; #define FDE_TTOALIGNMENT_BottomCenter 9 #define FDE_TTOALIGNMENT_BottomRight 10 #define FDE_TTOALIGNMENT_BottomAuto 11 + class IFDE_TextOut { public: static IFDE_TextOut* Create(); + virtual ~IFDE_TextOut() {} virtual void Release() = 0; virtual void SetFont(IFX_Font *pFont) = 0; virtual void SetFontSize(FX_FLOAT fFontSize) = 0; diff --git a/xfa/src/fdp/include/fde_xml.h b/xfa/src/fdp/include/fde_xml.h index 2ffa30c0fd..03f6438ed4 100644 --- a/xfa/src/fdp/include/fde_xml.h +++ b/xfa/src/fdp/include/fde_xml.h @@ -43,9 +43,11 @@ FX_BOOL FDE_IsXMLNameChar(FX_WCHAR ch, FX_BOOL bFirstChar); #ifdef __cplusplus } #endif + class IFDE_XMLNode { public: + virtual ~IFDE_XMLNode() {} virtual void Release() = 0; virtual FDE_XMLNODETYPE GetType() const = 0; virtual int32_t CountChildNodes() const = 0; @@ -119,6 +121,7 @@ class IFDE_XMLCharData : public IFDE_XMLDeclaration { public: static IFDE_XMLCharData* Create(const CFX_WideString &wsCData); + virtual ~IFDE_XMLCharData() {} virtual void GetCharData(CFX_WideString &wsCData) const = 0; virtual void SetCharData(const CFX_WideString &wsCData) = 0; @@ -136,6 +139,7 @@ class IFDE_XMLDoc { public: static IFDE_XMLDoc* Create(); + virtual ~IFDE_XMLDoc() {} virtual void Release() = 0; virtual FX_BOOL LoadXML(IFX_Stream *pXMLStream, int32_t iXMLPlaneSize = 8192, int32_t iTextDataSize = 256, FDE_LPXMLREADERHANDLER pHandler = NULL) = 0; virtual FX_BOOL LoadXML(IFDE_XMLParser *pXMLParser) = 0; @@ -148,6 +152,7 @@ public: class IFDE_XMLParser { public: + virtual ~IFDE_XMLParser() {} virtual void Release() = 0; virtual int32_t DoParser(IFX_Pause *pPause) = 0; }; @@ -170,6 +175,7 @@ class IFDE_XMLSyntaxParser { public: static IFDE_XMLSyntaxParser* Create(); + virtual ~IFDE_XMLSyntaxParser() {} virtual void Release() = 0; virtual void Init(IFX_Stream *pStream, int32_t iXMLPlaneSize, int32_t iTextDataSize = 256) = 0; virtual FX_DWORD DoSyntaxParse() = 0; diff --git a/xfa/src/fee/include/fx_wordbreak.h b/xfa/src/fee/include/fx_wordbreak.h index 275930a8b7..5dc0b1b73b 100644 --- a/xfa/src/fee/include/fx_wordbreak.h +++ b/xfa/src/fee/include/fx_wordbreak.h @@ -7,9 +7,11 @@ #ifndef _FX_WORDBREAK_H #define _FX_WORDBREAK_H class IFX_CharIter; + class IFX_WordBreak { public: + virtual ~IFX_WordBreak() {} virtual void Release() = 0; virtual void Attach(IFX_CharIter * pIter) = 0; virtual void Attach(const CFX_WideString & wsText) = 0; diff --git a/xfa/src/fee/include/ifde_txtedtbuf.h b/xfa/src/fee/include/ifde_txtedtbuf.h index 3aa24ffe69..b0706337c8 100644 --- a/xfa/src/fee/include/ifde_txtedtbuf.h +++ b/xfa/src/fee/include/ifde_txtedtbuf.h @@ -7,10 +7,11 @@ #ifndef _IFDE_TXTEDTBUF_H #define _IFDE_TXTEDTBUF_H #define FDE_DEFCHUNKLENGTH (1024) -class IFDE_TxtEdtBuf; + class IFDE_TxtEdtBuf { public: + virtual ~IFDE_TxtEdtBuf() {} virtual void Release() = 0; virtual FX_BOOL SetChunkSize(int32_t nChunkSize) = 0; diff --git a/xfa/src/fee/include/ifde_txtedtengine.h b/xfa/src/fee/include/ifde_txtedtengine.h index 0ee175380e..d11a1e9db1 100644 --- a/xfa/src/fee/include/ifde_txtedtengine.h +++ b/xfa/src/fee/include/ifde_txtedtengine.h @@ -140,6 +140,7 @@ typedef _FDE_TXTEDT_TEXTCHANGE_INFO* FDE_LPTXTEDT_TEXTCHANGE_INFO; class IFDE_TxtEdtEventSink { public: + virtual ~IFDE_TxtEdtEventSink() {} virtual void On_CaretChanged(IFDE_TxtEdtEngine * pEdit, int32_t nPage, FX_BOOL bVisible = TRUE) = 0; virtual void On_TextChanged(IFDE_TxtEdtEngine * pEdit, FDE_TXTEDT_TEXTCHANGE_INFO &ChangeInfo) = 0; virtual void On_PageCountChanged(IFDE_TxtEdtEngine * pEdit) = 0; @@ -157,6 +158,7 @@ public: class IFX_CharIter { public: + virtual ~IFX_CharIter() {} virtual void Release() = 0; virtual FX_BOOL Next(FX_BOOL bPrev = FALSE) = 0; virtual FX_WCHAR GetChar() = 0; @@ -170,6 +172,7 @@ class IFDE_TxtEdtEngine public: static IFDE_TxtEdtEngine* Create(); + virtual ~IFDE_TxtEdtEngine() {} virtual void Release() = 0; virtual void SetEditParams(const FDE_TXTEDTPARAMS ¶ms) = 0; virtual const FDE_TXTEDTPARAMS* GetEditParams() const = 0; @@ -225,6 +228,7 @@ public: class IFDE_TxtEdtParag { public: + virtual ~IFDE_TxtEdtParag() {} virtual int32_t GetTextLength() const = 0; virtual int32_t GetStartIndex() const = 0; virtual int32_t CountLines() const = 0; diff --git a/xfa/src/fee/src/fee/fde_txtedtengine.h b/xfa/src/fee/src/fee/fde_txtedtengine.h index c482f5b52c..f039f1a72b 100644 --- a/xfa/src/fee/src/fee/fde_txtedtengine.h +++ b/xfa/src/fee/src/fee/fde_txtedtengine.h @@ -30,6 +30,7 @@ class IFDE_TxtEdtDoRecord { public: static IFDE_TxtEdtDoRecord * Create(const CFX_ByteStringC& bsDoRecord); + virtual ~IFDE_TxtEdtDoRecord() {} virtual void Release() = 0; virtual FX_BOOL Redo() = 0; virtual FX_BOOL Undo() = 0; diff --git a/xfa/src/fgas/include/fx_cpg.h b/xfa/src/fgas/include/fx_cpg.h index 0b58727fa3..42953b042b 100644 --- a/xfa/src/fgas/include/fx_cpg.h +++ b/xfa/src/fgas/include/fx_cpg.h @@ -208,10 +208,12 @@ typedef struct _FX_LANG2CPMAP { FX_WORD wLanguage; FX_WORD wCodepage; } FX_LANG2CPMAP; + class IFX_CodePage { public: static IFX_CodePage* Create(FX_WORD wCodePage); + virtual ~IFX_CodePage() {} virtual void Release() = 0; virtual FX_WORD GetCodePageNumber() const = 0; virtual FX_CODESYSTEM GetCodeSystemType() const = 0; diff --git a/xfa/src/fgas/include/fx_datetime.h b/xfa/src/fgas/include/fx_datetime.h index dcaf18398f..b867b369d2 100644 --- a/xfa/src/fgas/include/fx_datetime.h +++ b/xfa/src/fgas/include/fx_datetime.h @@ -290,6 +290,7 @@ public: { m_DateTime = dt.m_DateTime; } + virtual ~CFX_DateTime() {} operator FX_DATETIME * () { return &m_DateTime; diff --git a/xfa/src/fgas/include/fx_fnt.h b/xfa/src/fgas/include/fx_fnt.h index 6b328d9741..9242d9704f 100644 --- a/xfa/src/fgas/include/fx_fnt.h +++ b/xfa/src/fgas/include/fx_fnt.h @@ -37,11 +37,14 @@ class IFX_FontMgr; #define FX_BOUNDINGSHAPE_Square 2 #define FX_BOUNDINGSHAPE_Triangle 3 #define FX_BOUNDINGSHAPE_Diamond 4 + class IFX_FontProvider { public: + virtual ~IFX_FontProvider() {} virtual FX_BOOL GetCharWidth(IFX_Font* pFont, FX_WCHAR wUnicode, int32_t &iWidth, FX_BOOL bCharCode = FALSE) = 0; }; + class IFX_Font { public: @@ -50,6 +53,7 @@ public: static IFX_Font* LoadFont(const FX_WCHAR* pszFileName, IFX_FontMgr *pFontMgr); static IFX_Font* LoadFont(IFX_Stream *pFontStream, IFX_FontMgr *pFontMgr, FX_BOOL bSaveStream = FALSE); static IFX_Font* LoadFont(CFX_Font *pExtFont, IFX_FontMgr *pFontMgr, FX_BOOL bTakeOver = FALSE); + virtual ~IFX_Font() {} virtual void Release() = 0; virtual IFX_Font* Retain() = 0; virtual IFX_Font* Derive(FX_DWORD dwFontStyles, FX_WORD wCodePage = 0) = 0; @@ -112,6 +116,7 @@ class IFX_FontMgr { public: static IFX_FontMgr* Create(FX_LPEnumAllFonts pEnumerator, FX_LPMatchFont pMatcher = NULL, void* pUserData = NULL); + ~virtual ~IFX_FontMgr() {} virtual void Release() = 0; virtual IFX_Font* GetDefFontByCodePage(FX_WORD wCodePage, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByCharset(uint8_t nCharset, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; @@ -129,6 +134,7 @@ public: class IFX_FontMgrDelegate { public: + virtual ~IFX_FontMgrDelegate() {} virtual IFX_Font* GetDefFontByCodePage(IFX_FontMgr* pFontMgr, FX_WORD wCodePage, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByCharset(IFX_FontMgr* pFontMgr, uint8_t nCharset, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByUnicode(IFX_FontMgr* pFontMgr, FX_WCHAR wUnicode, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; @@ -137,6 +143,7 @@ public: class IFX_FontSourceEnum { public: + virtual ~IFX_FontSourceEnum() {} virtual void Release() = 0; virtual FX_POSITION GetStartPosition(void* pUserData = NULL) = 0; virtual IFX_FileAccess* GetNext(FX_POSITION& pos, void* pUserData = NULL) = 0; @@ -146,6 +153,7 @@ class IFX_FontMgr { public: static IFX_FontMgr* Create(IFX_FontSourceEnum* pFontEnum, IFX_FontMgrDelegate* pDelegate = NULL, void* pUserData = NULL); + virtual ~IFX_FontMgr() {} virtual void Release() = 0; virtual IFX_Font* GetDefFontByCodePage(FX_WORD wCodePage, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByCharset(uint8_t nCharset, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; diff --git a/xfa/src/fgas/include/fx_locale.h b/xfa/src/fgas/include/fx_locale.h index b377f981e4..025814c7c2 100644 --- a/xfa/src/fgas/include/fx_locale.h +++ b/xfa/src/fgas/include/fx_locale.h @@ -49,14 +49,15 @@ enum FX_DATETIMETYPE { FX_DATETIMETYPE_DateTime, FX_DATETIMETYPE_TimeDate, }; + class IFX_Locale { public: static IFX_Locale* Create(CXML_Element* pLocaleData); + virtual ~IFX_Locale() {} virtual void Release() = 0; - virtual CFX_WideString GetName() = 0; virtual void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, CFX_WideString& wsNumSymbol) const = 0; @@ -70,9 +71,11 @@ public: virtual void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType, CFX_WideString& wsPattern) const = 0; virtual void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType, CFX_WideString& wsPattern) const = 0; }; + class IFX_LocaleMgr { public: + virtual ~IFX_LocaleMgr() {} virtual void Release() = 0; virtual FX_WORD GetDefLocaleID() = 0; virtual IFX_Locale* GetDefLocale() = 0; @@ -88,6 +91,7 @@ class IFX_FormatString public: static IFX_FormatString* Create(IFX_LocaleMgr* pLocaleMgr, FX_BOOL bUseLCID); + virtual ~IFX_FormatString() {} virtual void Release() = 0; virtual void SplitFormatString(const CFX_WideString& wsFormatString, CFX_WideStringArray& wsPatterns) = 0; virtual FX_LOCALECATEGORY GetCategory(const CFX_WideString& wsPattern) = 0; diff --git a/xfa/src/fgas/include/fx_mem.h b/xfa/src/fgas/include/fx_mem.h index c8875e185d..6c0e1faa25 100644 --- a/xfa/src/fgas/include/fx_mem.h +++ b/xfa/src/fgas/include/fx_mem.h @@ -14,9 +14,11 @@ enum FX_ALLOCTYPE { FX_ALLOCTYPE_Fixed , FX_ALLOCTYPE_Dynamic , }; + class IFX_MEMAllocator { public: + virtual ~IFX_MEMAllocator() {} virtual void Release() = 0; virtual void* Alloc(size_t size) = 0; virtual void Free(void *pBlock) = 0; @@ -25,10 +27,12 @@ public: virtual size_t SetDefChunkSize(size_t size) = 0; virtual size_t GetCurrentDataSize() const = 0; }; + IFX_MEMAllocator* FX_CreateAllocator(FX_ALLOCTYPE eType, size_t chunkSize, size_t blockSize); class CFX_Target { public: + virtual ~CFX_Target() {} void* operator new(size_t size) { return FX_Alloc(uint8_t, size); diff --git a/xfa/src/fgas/include/fx_rbk.h b/xfa/src/fgas/include/fx_rbk.h index 282b6e37db..a8544b047d 100644 --- a/xfa/src/fgas/include/fx_rbk.h +++ b/xfa/src/fgas/include/fx_rbk.h @@ -200,6 +200,7 @@ class IFX_RTFBreak { public: static IFX_RTFBreak* Create(FX_DWORD dwPolicies); + virtual ~IFX_RTFBreak() {} virtual void Release() = 0; virtual void SetLineWidth(FX_FLOAT fLineStart, FX_FLOAT fLineEnd) = 0; virtual void SetLinePos(FX_FLOAT fLinePos) = 0; diff --git a/xfa/src/fgas/include/fx_sax.h b/xfa/src/fgas/include/fx_sax.h index 9d959e2321..12a7d13435 100644 --- a/xfa/src/fgas/include/fx_sax.h +++ b/xfa/src/fgas/include/fx_sax.h @@ -27,6 +27,7 @@ enum FX_SAXNODE { class IFX_SAXReaderHandler { public: + virtual ~IFX_SAXReaderHandler() {} virtual void* OnTagEnter(const CFX_ByteStringC& bsTagName, FX_SAXNODE eType, FX_DWORD dwStartPos) = 0; virtual void OnTagAttribute(void* pTag, const CFX_ByteStringC& bsAttri, const CFX_ByteStringC& bsValue) = 0; virtual void OnTagBreak(void* pTag) = 0; @@ -38,6 +39,7 @@ public: class IFX_SAXReader { public: + virtual ~IFX_SAXReader() {} virtual void Release() = 0; virtual int32_t StartParse(IFX_FileRead *pFile, FX_DWORD dwStart = 0, FX_DWORD dwLen = -1, FX_DWORD dwParseMode = 0) = 0; virtual int32_t ContinueParse(IFX_Pause *pPause = NULL) = 0; diff --git a/xfa/src/fgas/include/fx_stm.h b/xfa/src/fgas/include/fx_stm.h index b10b06a830..9b284329b5 100644 --- a/xfa/src/fgas/include/fx_stm.h +++ b/xfa/src/fgas/include/fx_stm.h @@ -37,6 +37,7 @@ public: static IFX_Stream* CreateStream(uint8_t* pData, int32_t length, FX_DWORD dwAccess); static IFX_Stream* CreateStream(IFX_BufferRead *pBufferRead, FX_DWORD dwAccess, int32_t iFileSize = -1, FX_BOOL bReleaseBufferRead = TRUE); static IFX_Stream* CreateTextStream(IFX_Stream *pBaseStream, FX_BOOL bDeleteOnRelease); + virtual ~IFX_Stream() {} virtual void Release() = 0; virtual IFX_Stream* Retain() = 0; virtual FX_DWORD GetAccessModes() const = 0; diff --git a/xfa/src/fgas/include/fx_tbk.h b/xfa/src/fgas/include/fx_tbk.h index e48e2eedf4..2eaca3922c 100644 --- a/xfa/src/fgas/include/fx_tbk.h +++ b/xfa/src/fgas/include/fx_tbk.h @@ -57,9 +57,11 @@ class IFX_TxtBreak; #define FX_TXTLINEALIGNMENT_LowerMask 0x03 #define FX_TXTLINEALIGNMENT_HigherMask 0x0C #define FX_TXTBREAK_MinimumTabWidth 160000 + class IFX_TxtAccess { public: + virtual ~IFX_TxtAccess() {} virtual FX_WCHAR GetChar(void* pIdentity, int32_t index) const = 0; virtual int32_t GetWidth(void* pIdentity, int32_t index) const = 0; }; @@ -178,6 +180,7 @@ class IFX_TxtBreak { public: static IFX_TxtBreak* Create(FX_DWORD dwPolicies); + virtual ~IFX_TxtBreak() {} virtual void Release() = 0; virtual void SetLineWidth(FX_FLOAT fLineWidth) = 0; virtual void SetLinePos(FX_FLOAT fLinePos) = 0; diff --git a/xfa/src/fwl/src/basewidget/include/fwl_caretimp.h b/xfa/src/fwl/src/basewidget/include/fwl_caretimp.h index f4d090acb4..6e9d197097 100644 --- a/xfa/src/fwl/src/basewidget/include/fwl_caretimp.h +++ b/xfa/src/fwl/src/basewidget/include/fwl_caretimp.h @@ -37,6 +37,7 @@ protected: { public: CFWL_CaretTimer(CFWL_CaretImp *m_pCaret); + virtual ~CFWL_CaretTimer() {} virtual int32_t Run(FWL_HTIMER hTimer); CFWL_CaretImp *m_pCaret; diff --git a/xfa/src/fwl/src/core/include/fwl_noteimp.h b/xfa/src/fwl/src/core/include/fwl_noteimp.h index 78afc35313..cc94b37fa4 100644 --- a/xfa/src/fwl/src/core/include/fwl_noteimp.h +++ b/xfa/src/fwl/src/core/include/fwl_noteimp.h @@ -16,10 +16,12 @@ class CFWL_NoteLoop; class CFWL_NoteDriver; class CFWL_EventTarget; class CFWL_ToolTipContainer; + class CFWL_NoteLoop { public: CFWL_NoteLoop(CFWL_WidgetImp *pForm = NULL); + virtual ~CFWL_NoteLoop() {} virtual FX_BOOL PreProcessMessage(CFWL_Message *pMessage); virtual FWL_ERR Idle(int32_t count); CFWL_WidgetImp* GetForm(); @@ -37,7 +39,7 @@ class CFWL_NoteDriver { public: CFWL_NoteDriver(); - ~CFWL_NoteDriver(); + virtual ~CFWL_NoteDriver(); virtual FX_BOOL SendNote(CFWL_Note *pNote); virtual FX_BOOL PostMessage(CFWL_Message *pMessage); virtual FWL_ERR RegisterEventTarget(IFWL_Widget *pListener, IFWL_Widget *pEventSource = NULL, FX_DWORD dwFilter = FWL_EVENT_ALL_MASK); diff --git a/xfa/src/fwl/src/core/include/fwl_widgetimp.h b/xfa/src/fwl/src/core/include/fwl_widgetimp.h index af4ceced95..fa523f390c 100644 --- a/xfa/src/fwl/src/core/include/fwl_widgetimp.h +++ b/xfa/src/fwl/src/core/include/fwl_widgetimp.h @@ -121,6 +121,7 @@ class CFWL_WidgetImpDelegate { public: CFWL_WidgetImpDelegate(); + virtual ~CFWL_WidgetImpDelegate() {} virtual int32_t OnProcessMessage(CFWL_Message *pMessage); virtual FWL_ERR OnProcessEvent(CFWL_Event *pEvent); virtual FWL_ERR OnDrawWidget(CFX_Graphics *pGraphics, const CFX_Matrix *pMatrix = NULL); diff --git a/xfa/src/fwl/src/core/include/fwl_widgetmgrimp.h b/xfa/src/fwl/src/core/include/fwl_widgetmgrimp.h index f9b465fc52..31b978ec97 100644 --- a/xfa/src/fwl/src/core/include/fwl_widgetmgrimp.h +++ b/xfa/src/fwl/src/core/include/fwl_widgetmgrimp.h @@ -49,11 +49,12 @@ public: FX_BOOL bOutsideChanged; #endif }; + class CFWL_WidgetMgr { public: CFWL_WidgetMgr(IFWL_AdapterNative *pAdapterNative); - ~CFWL_WidgetMgr(); + virtual ~CFWL_WidgetMgr(); virtual int32_t CountWidgets(IFWL_Widget *pParent = NULL); virtual IFWL_Widget* GetWidget(int32_t nIndex, IFWL_Widget *pParent = NULL); virtual IFWL_Widget* GetWidget(IFWL_Widget *pWidget, FWL_WGTRELATION eRelation); @@ -127,6 +128,7 @@ class CFWL_WidgetMgrDelegate { public: CFWL_WidgetMgrDelegate(CFWL_WidgetMgr *pWidgetMgr); + virtual ~CFWL_WidgetMgrDelegate() {} virtual FWL_ERR OnSetCapability(FX_DWORD dwCapability = FWL_WGTMGR_DisableThread); virtual int32_t OnProcessMessageToForm(CFWL_Message *pMessage); virtual FWL_ERR OnDrawWidget(IFWL_Widget *pWidget, CFX_Graphics *pGraphics, const CFX_Matrix *pMatrix ); diff --git a/xfa/src/fxfa/src/app/xfa_checksum.h b/xfa/src/fxfa/src/app/xfa_checksum.h index 4ffe670979..62e439fe1b 100644 --- a/xfa/src/fxfa/src/app/xfa_checksum.h +++ b/xfa/src/fxfa/src/app/xfa_checksum.h @@ -40,7 +40,7 @@ class CXFA_ChecksumContext : public IXFA_ChecksumContext { public: CXFA_ChecksumContext(); - ~CXFA_ChecksumContext(); + virtual ~CXFA_ChecksumContext(); virtual void Release() { delete this; diff --git a/xfa/src/fxfa/src/app/xfa_ffdocview.h b/xfa/src/fxfa/src/app/xfa_ffdocview.h index 557a39f3f6..6037716d8c 100644 --- a/xfa/src/fxfa/src/app/xfa_ffdocview.h +++ b/xfa/src/fxfa/src/app/xfa_ffdocview.h @@ -121,7 +121,7 @@ class CXFA_FFDocWidgetIterator : public IXFA_WidgetIterator { public: CXFA_FFDocWidgetIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot); - ~CXFA_FFDocWidgetIterator(); + virtual ~CXFA_FFDocWidgetIterator(); virtual void Release() { @@ -144,7 +144,7 @@ class CXFA_WidgetAccIterator : public IXFA_WidgetAccIterator { public: CXFA_WidgetAccIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot); - ~CXFA_WidgetAccIterator(); + virtual ~CXFA_WidgetAccIterator(); virtual void Release() { delete this; diff --git a/xfa/src/fxfa/src/app/xfa_fwladapter.h b/xfa/src/fxfa/src/app/xfa_fwladapter.h index 62975ff0da..8c472d46db 100644 --- a/xfa/src/fxfa/src/app/xfa_fwladapter.h +++ b/xfa/src/fxfa/src/app/xfa_fwladapter.h @@ -15,6 +15,7 @@ public: class IXFA_FWLEventHandler { public: + virtual ~IXFA_FWLEventHandler() {} virtual FX_BOOL GetPopupPos(IFWL_Widget *pWidget, FX_FLOAT fMinPopup, FX_FLOAT fMaxPopup, const CFX_RectF &rtAnchor, CFX_RectF& rtPopup) { diff --git a/xfa/src/fxfa/src/app/xfa_textlayout.h b/xfa/src/fxfa/src/app/xfa_textlayout.h index bb8b4b528d..2e01066680 100644 --- a/xfa/src/fxfa/src/app/xfa_textlayout.h +++ b/xfa/src/fxfa/src/app/xfa_textlayout.h @@ -11,6 +11,7 @@ class CXFA_TextTabstopsContext; class IXFA_TextProvider { public: + virtual ~IXFA_TextProvider() {} virtual CXFA_Node* GetTextNode(FX_BOOL &bRichText) = 0; virtual CXFA_Para GetParaNode() = 0; virtual CXFA_Font GetFontNode() = 0; diff --git a/xfa/src/fxfa/src/common/xfa_docdata.h b/xfa/src/fxfa/src/common/xfa_docdata.h index 7befa23d7f..b709fce016 100644 --- a/xfa/src/fxfa/src/common/xfa_docdata.h +++ b/xfa/src/fxfa/src/common/xfa_docdata.h @@ -13,6 +13,7 @@ class IXFA_PacketExport { public: static IXFA_PacketExport* Create(CXFA_Document *pDocument, XFA_DATAFORMAT eFormat = XFA_DATAFORMAT_XDP); + virtual ~IXFA_PacketExport() {} virtual void Release() = 0; virtual FX_BOOL Export(IFX_FileWrite *pWrite) = 0; virtual FX_BOOL Export(IFX_FileWrite *pWrite, CXFA_Node *pNode, FX_DWORD dwFlag = 0, const FX_CHAR* pChecksum = NULL) = 0; @@ -21,6 +22,7 @@ class IXFA_PacketImport { public: static IXFA_PacketImport* Create(CXFA_Document *pDstDoc); + virtual ~IXFA_PacketImport() {} virtual void Release() = 0; virtual FX_BOOL ImportData(IFX_FileRead* pDataDocument) = 0; }; diff --git a/xfa/src/fxfa/src/common/xfa_doclayout.h b/xfa/src/fxfa/src/common/xfa_doclayout.h index d360faa62c..78c58a1edf 100644 --- a/xfa/src/fxfa/src/common/xfa_doclayout.h +++ b/xfa/src/fxfa/src/common/xfa_doclayout.h @@ -95,6 +95,7 @@ public: class IXFA_DocLayout { public: + virtual ~IXFA_DocLayout() {} virtual CXFA_Document* GetDocument() const = 0; virtual int32_t StartLayout(FX_BOOL bForceRestart = FALSE) = 0; virtual int32_t DoLayout(IFX_Pause *pPause = NULL) = 0; diff --git a/xfa/src/fxfa/src/common/xfa_document.h b/xfa/src/fxfa/src/common/xfa_document.h index 20b8e1a020..47cf98e717 100644 --- a/xfa/src/fxfa/src/common/xfa_document.h +++ b/xfa/src/fxfa/src/common/xfa_document.h @@ -64,6 +64,7 @@ enum XFA_LAYOUTRESULT { class IXFA_Notify { public: + virtual ~IXFA_Notify() {} virtual void OnPageEvent(IXFA_LayoutPage *pSender, XFA_PAGEEVENT eEvent, void* pParam = NULL) = 0; virtual void OnNodeEvent(CXFA_Node *pSender, XFA_NODEEVENT eEvent, void* pParam = NULL, void* pParam2 = NULL, void* pParam3 = NULL, void* pParam4 = NULL) = 0; @@ -93,6 +94,7 @@ public: class IXFA_ObjFactory { public: + virtual ~IXFA_ObjFactory() {} virtual CXFA_Node* CreateNode(FX_DWORD dwPacket, XFA_ELEMENT eElement) = 0; virtual CXFA_Node* CreateNode(XFA_LPCPACKETINFO pPacket, XFA_ELEMENT eElement) = 0; }; diff --git a/xfa/src/fxfa/src/common/xfa_localemgr.h b/xfa/src/fxfa/src/common/xfa_localemgr.h index 14981ca418..19c7b96172 100644 --- a/xfa/src/fxfa/src/common/xfa_localemgr.h +++ b/xfa/src/fxfa/src/common/xfa_localemgr.h @@ -52,6 +52,8 @@ public: static IXFA_TimeZoneProvider* Get(); static void Destroy(); + virtual ~IXFA_TimeZoneProvider() {} + virtual void SetTimeZone(FX_TIMEZONE& tz) = 0; virtual void GetTimeZone(FX_TIMEZONE& tz) = 0; @@ -60,7 +62,7 @@ class CXFA_TimeZoneProvider : public IXFA_TimeZoneProvider { public: CXFA_TimeZoneProvider(); - ~CXFA_TimeZoneProvider(); + virtual ~CXFA_TimeZoneProvider(); virtual void SetTimeZone(FX_TIMEZONE& tz); virtual void GetTimeZone(FX_TIMEZONE& tz); private: diff --git a/xfa/src/fxfa/src/common/xfa_parser.h b/xfa/src/fxfa/src/common/xfa_parser.h index b534acd03c..08a8b3413d 100644 --- a/xfa/src/fxfa/src/common/xfa_parser.h +++ b/xfa/src/fxfa/src/common/xfa_parser.h @@ -11,6 +11,7 @@ class IXFA_Parser { public: static IXFA_Parser* Create(IXFA_ObjFactory *pFactory, FX_BOOL bDocumentParser = FALSE); + virtual ~IXFA_Parser() {} virtual void Release() = 0; virtual int32_t StartParse(IFX_FileRead *pStream, XFA_XDPPACKET ePacketID = XFA_XDPPACKET_XDP) = 0; virtual int32_t DoParse(IFX_Pause *pPause = NULL) = 0; @@ -32,6 +33,7 @@ class IXFA_DataLoaderOptionsProvider { public: static IXFA_DataLoaderOptionsProvider* Create(CXFA_Node* pConfigurationDOM); + virtual ~IXFA_DataLoaderOptionsProvider() {} virtual void Release() = 0; }; #endif diff --git a/xfa/src/fxfa/src/common/xfa_script.h b/xfa/src/fxfa/src/common/xfa_script.h index c7f18071ac..fd9cdc44ac 100644 --- a/xfa/src/fxfa/src/common/xfa_script.h +++ b/xfa/src/fxfa/src/common/xfa_script.h @@ -67,8 +67,8 @@ typedef struct _XFA_RESOLVENODE_RS { return hValueArray.GetSize(); } CXFA_ObjArray nodes; - XFA_LPCSCRIPTATTRIBUTEINFO pScriptAttribute; XFA_RESOVENODE_RSTYPE dwFlags; + XFA_LPCSCRIPTATTRIBUTEINFO pScriptAttribute; } XFA_RESOLVENODE_RS, * XFA_LPRESOLVENODE_RS; typedef struct _XFA_JSBUILTININFO { uint32_t uUnicodeHash; @@ -79,6 +79,7 @@ XFA_LPCJSBUILTININFO XFA_GetJSBuiltinByHash(uint32_t uHashCode); class IXFA_ScriptContext { public: + virtual ~IXFA_ScriptContext() {} virtual void Release() = 0; virtual void Initialize(FXJSE_HRUNTIME hRuntime) = 0; -- cgit v1.2.3