소스 검색

ctkCheckableModelHelper was not supporting deleted models

Julien Finet 14 년 전
부모
커밋
a032d51582
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      Libs/Core/ctkCheckableModelHelper.cpp

+ 3 - 3
Libs/Core/ctkCheckableModelHelper.cpp

@@ -23,6 +23,7 @@
 #include <QApplication>
 #include <QDebug>
 #include <QStandardItemModel>
+#include <QWeakPointer>
 
 // CTK includes
 #include "ctkCheckableModelHelper.h"
@@ -55,7 +56,7 @@ public:
 
   void forceCheckability(const QModelIndex& index);
 
-  QAbstractItemModel* Model;
+  QWeakPointer<QAbstractItemModel> Model;
   QModelIndex         RootIndex;
   Qt::Orientation     Orientation;
   bool                HeaderIsUpdating;
@@ -74,7 +75,6 @@ public:
 ctkCheckableModelHelperPrivate::ctkCheckableModelHelperPrivate(ctkCheckableModelHelper& object)
   : q_ptr(&object)
 {
-  this->Model = 0;
   this->HeaderIsUpdating = false;
   this->ItemsAreUpdating = false;
   this->ForceCheckability = false;
@@ -291,7 +291,7 @@ Qt::Orientation ctkCheckableModelHelper::orientation()const
 QAbstractItemModel* ctkCheckableModelHelper::model()const
 {
   Q_D(const ctkCheckableModelHelper);
-  return d->Model;
+  return d->Model.isNull() ? 0 : d->Model.data();
 }
 
 //-----------------------------------------------------------------------------