diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-01-09 10:46:50 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-01-09 10:46:50 -0800 |
commit | b9e0190938f62bf21df078e47190a62ba33ddab2 (patch) | |
tree | 474749da63ac6890c008f9535b335bebee1d7cc8 /core/include/fxcrt | |
parent | b07772a31f5dff723af620bc57c71daa246995c0 (diff) | |
download | pdfium-b9e0190938f62bf21df078e47190a62ba33ddab2.tar.xz |
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
Diffstat (limited to 'core/include/fxcrt')
-rw-r--r-- | core/include/fxcrt/fx_arb.h | 3 | ||||
-rw-r--r-- | core/include/fxcrt/fx_basic.h | 6 | ||||
-rw-r--r-- | core/include/fxcrt/fx_stream.h | 4 |
3 files changed, 8 insertions, 5 deletions
diff --git a/core/include/fxcrt/fx_arb.h b/core/include/fxcrt/fx_arb.h index 4950f81716..a7b25c1877 100644 --- a/core/include/fxcrt/fx_arb.h +++ b/core/include/fxcrt/fx_arb.h @@ -16,5 +16,8 @@ public: virtual FX_BOOL EndChar() = 0; virtual FX_INT32 GetBidiInfo(FX_INT32 &iStart, FX_INT32 &iCount) = 0; virtual void Reset() = 0; + +protected: + ~IFX_BidiChar() { } }; #endif diff --git a/core/include/fxcrt/fx_basic.h b/core/include/fxcrt/fx_basic.h index 98a540c455..62324f5b2a 100644 --- a/core/include/fxcrt/fx_basic.h +++ b/core/include/fxcrt/fx_basic.h @@ -240,7 +240,7 @@ class IFX_BufferArchive { public: IFX_BufferArchive(FX_STRSIZE size); - + virtual ~IFX_BufferArchive() { } virtual void Clear(); @@ -271,7 +271,7 @@ class CFX_FileBufferArchive : public IFX_BufferArchive, public CFX_Object { public: CFX_FileBufferArchive(FX_STRSIZE size = 32768); - ~CFX_FileBufferArchive(); + ~CFX_FileBufferArchive() override; virtual void Clear(); FX_BOOL AttachFile(IFX_StreamWrite *pFile, FX_BOOL bTakeover = FALSE); @@ -1377,7 +1377,7 @@ protected: class IFX_Pause { public: - + virtual ~IFX_Pause() { } virtual FX_BOOL NeedToPauseNow() = 0; }; class CFX_DataFilter : public CFX_Object diff --git a/core/include/fxcrt/fx_stream.h b/core/include/fxcrt/fx_stream.h index 8e298f7727..e54af579b6 100644 --- a/core/include/fxcrt/fx_stream.h +++ b/core/include/fxcrt/fx_stream.h @@ -65,7 +65,7 @@ FX_BOOL FX_File_Move(FX_WSTR fileNameSrc, FX_WSTR fileNameDst); class IFX_StreamWrite { public: - + virtual ~IFX_StreamWrite() { } virtual void Release() = 0; virtual FX_BOOL WriteBlock(const void* pData, size_t size) = 0; @@ -91,6 +91,7 @@ IFX_FileWrite* FX_CreateFileWrite(FX_LPCWSTR filename); class IFX_StreamRead { public: + virtual ~IFX_StreamRead() { } virtual void Release() = 0; @@ -103,7 +104,6 @@ public: class IFX_FileRead : IFX_StreamRead { public: - virtual void Release() = 0; virtual FX_FILESIZE GetSize() = 0; |