summaryrefslogtreecommitdiff
path: root/core/include/fxcrt
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-01-09 10:46:50 -0800
committerTom Sepez <tsepez@chromium.org>2015-01-09 10:46:50 -0800
commitb9e0190938f62bf21df078e47190a62ba33ddab2 (patch)
tree474749da63ac6890c008f9535b335bebee1d7cc8 /core/include/fxcrt
parentb07772a31f5dff723af620bc57c71daa246995c0 (diff)
downloadpdfium-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.h3
-rw-r--r--core/include/fxcrt/fx_basic.h6
-rw-r--r--core/include/fxcrt/fx_stream.h4
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;