Prechádzať zdrojové kódy

Merge pull request #521 from AndreasFetzer/ctkDICOMTableView-multiple-signal-slot-connections

Fixed duplicate connection to Qt signal/slots in ctkDICOMTableView
Jean-Christophe Fillion-Robin 10 rokov pred
rodič
commit
aee302511a
1 zmenil súbory, kde vykonal 7 pridanie a 2 odobranie
  1. 7 2
      Libs/DICOM/Widgets/ctkDICOMTableView.cpp

+ 7 - 2
Libs/DICOM/Widgets/ctkDICOMTableView.cpp

@@ -91,7 +91,7 @@ void ctkDICOMTableViewPrivate::init()
 
   if (this->dicomDatabase != 0)
     {
-      this->setUpTableView();
+      q->setDicomDataBase(this->dicomDatabase);
     }
 }
 
@@ -217,7 +217,13 @@ ctkDICOMTableView::~ctkDICOMTableView()
 void ctkDICOMTableView::setDicomDataBase(ctkDICOMDatabase *dicomDatabase)
 {
   Q_D(ctkDICOMTableView);
+
+  //Do nothing if no database is set
+  if (!dicomDatabase)
+    return;
+
   d->dicomDatabase = dicomDatabase;
+  d->setUpTableView();
   //Create connections for new database
   QObject::connect(d->dicomDatabase, SIGNAL(instanceAdded(const QString&)),
                    this, SLOT(onInstanceAdded()));
@@ -382,7 +388,6 @@ void ctkDICOMTableView::setTableSectionSize(int size)
 {
   Q_D(ctkDICOMTableView);
   d->tblDicomDatabaseView->verticalHeader()->setDefaultSectionSize(size);
-  d->setUpTableView();
 }
 
 //------------------------------------------------------------------------------