Browse Source

Merge branch 'fix-ctkDoubleSpinBox-memory-leak'

* fix-ctkDoubleSpinBox-memory-leak:
  Fix memory leak associated with ctkDoubleSpinBox ensuring pimpl is deleted
Jean-Christophe Fillion-Robin 10 years ago
parent
commit
7bb708c8b8
2 changed files with 9 additions and 3 deletions
  1. 5 0
      Libs/Widgets/ctkDoubleSpinBox.cpp
  2. 4 3
      Libs/Widgets/ctkDoubleSpinBox.h

+ 5 - 0
Libs/Widgets/ctkDoubleSpinBox.cpp

@@ -601,6 +601,11 @@ ctkDoubleSpinBox::ctkDoubleSpinBox(ctkDoubleSpinBox::SetMode mode, QWidget* newP
 }
 
 //-----------------------------------------------------------------------------
+ctkDoubleSpinBox::~ctkDoubleSpinBox()
+{
+}
+
+//-----------------------------------------------------------------------------
 double ctkDoubleSpinBox::value() const
 {
   Q_D(const ctkDoubleSpinBox);

+ 4 - 3
Libs/Widgets/ctkDoubleSpinBox.h

@@ -161,8 +161,9 @@ public:
 
   /// Constructor, creates a ctkDoubleSpinBox. The look and feel
   /// are the same as of a QDoubleSpinBox
-  ctkDoubleSpinBox(QWidget* parent = 0);
-  ctkDoubleSpinBox(ctkDoubleSpinBox::SetMode mode, QWidget* parent = 0);
+  explicit ctkDoubleSpinBox(QWidget* parent = 0);
+  explicit ctkDoubleSpinBox(ctkDoubleSpinBox::SetMode mode, QWidget* parent = 0);
+  virtual ~ctkDoubleSpinBox();
 
   /// Get the spinbox current value
   /// \sa setValue(), cleanText()
@@ -319,7 +320,7 @@ Q_SIGNALS:
   void decimalsChanged(int);
 
 protected:
-  ctkDoubleSpinBoxPrivate* const d_ptr;
+  QScopedPointer<ctkDoubleSpinBoxPrivate> d_ptr;
 
   /// Reimplemented to support shortcuts.
   virtual void keyPressEvent(QKeyEvent* event);