[Libreoffice-commits] core.git: include/svtools svtools/source

Takeshi Abe tabe at fixedpoint.jp
Wed Dec 27 16:14:18 UTC 2017


 include/svtools/fmtfield.hxx        |   11 +++--------
 svtools/source/control/fmtfield.cxx |   14 +++++---------
 2 files changed, 8 insertions(+), 17 deletions(-)

New commits:
commit d77d0d8e2fabc9dfc9eef3e532c31351632fb7b7
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date:   Wed Dec 27 14:02:17 2017 +0900

    svtools: Simplify DoubleNumericField with std::unique_ptr
    
    Change-Id: I25df3a06afa5e1eb2fa282f2be2ae1ea69aa0ab5
    Reviewed-on: https://gerrit.libreoffice.org/47077
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/include/svtools/fmtfield.hxx b/include/svtools/fmtfield.hxx
index e8d794fd76f6..6be6e44c59b0 100644
--- a/include/svtools/fmtfield.hxx
+++ b/include/svtools/fmtfield.hxx
@@ -23,6 +23,7 @@
 #include <svtools/svtdllapi.h>
 #include <vcl/spinfld.hxx>
 #include <svl/zforlist.hxx>
+#include <memory>
 
 namespace validation { class NumberValidator; }
 
@@ -255,15 +256,9 @@ protected:
 class SVT_DLLPUBLIC DoubleNumericField final : public FormattedField
 {
 public:
-    DoubleNumericField(vcl::Window* pParent, WinBits nStyle)
-        :FormattedField(pParent, nStyle)
-        ,m_pNumberValidator( nullptr )
-    {
-        ResetConformanceTester();
-    }
+    DoubleNumericField(vcl::Window* pParent, WinBits nStyle);
 
     virtual ~DoubleNumericField() override;
-    virtual void dispose() override;
 
 private:
     virtual bool CheckText(const OUString& sText) const override;
@@ -271,7 +266,7 @@ private:
     virtual void FormatChanged(FORMAT_CHANGE_TYPE nWhat) override;
     void ResetConformanceTester();
 
-    validation::NumberValidator*    m_pNumberValidator;
+    std::unique_ptr<validation::NumberValidator> m_pNumberValidator;
 };
 
 
diff --git a/svtools/source/control/fmtfield.cxx b/svtools/source/control/fmtfield.cxx
index 3b47e08c938b..20770f95569b 100644
--- a/svtools/source/control/fmtfield.cxx
+++ b/svtools/source/control/fmtfield.cxx
@@ -1007,16 +1007,13 @@ void FormattedField::UseInputStringForFormatting()
 }
 
 
-DoubleNumericField::~DoubleNumericField()
+DoubleNumericField::DoubleNumericField(vcl::Window* pParent, WinBits nStyle)
+    : FormattedField(pParent, nStyle)
 {
-    disposeOnce();
+    ResetConformanceTester();
 }
 
-void DoubleNumericField::dispose()
-{
-    delete m_pNumberValidator;
-    FormattedField::dispose();
-}
+DoubleNumericField::~DoubleNumericField() = default;
 
 void DoubleNumericField::FormatChanged(FORMAT_CHANGE_TYPE nWhat)
 {
@@ -1052,8 +1049,7 @@ void DoubleNumericField::ResetConformanceTester()
             cSeparatorDecimal = sSeparator[0];
     }
 
-    delete m_pNumberValidator;
-    m_pNumberValidator = new validation::NumberValidator( cSeparatorThousand, cSeparatorDecimal );
+    m_pNumberValidator.reset(new validation::NumberValidator( cSeparatorThousand, cSeparatorDecimal ));
 }
 
 DoubleCurrencyField::DoubleCurrencyField(vcl::Window* pParent, WinBits nStyle)


More information about the Libreoffice-commits mailing list