summaryrefslogtreecommitdiff
path: root/core/src/fxcrt
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-06-17 16:38:51 -0700
committerTom Sepez <tsepez@chromium.org>2015-06-17 16:38:51 -0700
commitff8347a4b16f000be628c5e10d03a1e1c17537eb (patch)
tree1d46e77a1ef6b28def6af3ffdd576017a6cfe229 /core/src/fxcrt
parentc4d9f6ad2dc922b574862cd2f6f0a899d7e169e3 (diff)
downloadpdfium-ff8347a4b16f000be628c5e10d03a1e1c17537eb.tar.xz
Replace some Release() calls with virtual destructors.
A virtual method that does |delete this| is an anti-pattern. Some classes can be de-virtualized instead. Throw in some unique_ptrs and delete dead code for good measure. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1192013002.
Diffstat (limited to 'core/src/fxcrt')
-rw-r--r--core/src/fxcrt/fx_arabic.cpp5
-rw-r--r--core/src/fxcrt/fx_arabic.h20
2 files changed, 12 insertions, 13 deletions
diff --git a/core/src/fxcrt/fx_arabic.cpp b/core/src/fxcrt/fx_arabic.cpp
index 94b514bd0d..3cb2fd067a 100644
--- a/core/src/fxcrt/fx_arabic.cpp
+++ b/core/src/fxcrt/fx_arabic.cpp
@@ -22,6 +22,11 @@ CFX_BidiChar::CFX_BidiChar()
, m_iLastCount(0)
{
}
+void CFX_BidiChar::SetPolicy(FX_BOOL bSeparateNeutral)
+{
+ m_bSeparateNeutral = bSeparateNeutral;
+}
+
FX_BOOL CFX_BidiChar::AppendChar(FX_WCHAR wch)
{
FX_DWORD dwProps = gs_FX_TextLayout_CodeProperties[(FX_WORD)wch];
diff --git a/core/src/fxcrt/fx_arabic.h b/core/src/fxcrt/fx_arabic.h
index e7e6a28c43..e4c1ddacf2 100644
--- a/core/src/fxcrt/fx_arabic.h
+++ b/core/src/fxcrt/fx_arabic.h
@@ -13,21 +13,15 @@ class CFX_BidiChar final : public IFX_BidiChar
{
public:
CFX_BidiChar();
- virtual void Release() override
- {
- delete this;
- }
- virtual void SetPolicy(FX_BOOL bSeparateNeutral = TRUE) override
- {
- m_bSeparateNeutral = bSeparateNeutral;
- }
- virtual FX_BOOL AppendChar(FX_WCHAR wch) override;
- virtual FX_BOOL EndChar() override;
- virtual int32_t GetBidiInfo(int32_t &iStart, int32_t &iCount) override;
- virtual void Reset() override;
+ ~CFX_BidiChar() override {}
+
+ void SetPolicy(FX_BOOL bSeparateNeutral = TRUE) override;
+ FX_BOOL AppendChar(FX_WCHAR wch) override;
+ FX_BOOL EndChar() override;
+ int32_t GetBidiInfo(int32_t &iStart, int32_t &iCount) override;
+ void Reset() override;
private:
- ~CFX_BidiChar() { }
FX_BOOL m_bSeparateNeutral;
int32_t m_iCurStart;
int32_t m_iCurCount;