Parcourir la source

Do not send the same AvailableData more than once

Ivo Wolf il y a 12 ans
Parent
commit
1838269854

+ 1 - 0
Applications/ctkDICOMHost/ctkDICOMHostMainLogic.cpp

@@ -70,6 +70,7 @@ void ctkDICOMHostMainLogic::sendDataToHostedApp()
 {
  if ((this->Host) && (this->HostControls->validAppFileName()) && (ValidSelection))
   {
+    *Data = ctkDicomAppHosting::AvailableData(); // empty AvailableData structure (at least not with the same id...)
     foreach (const QString &str, SelectedFiles) {
       if (str.isEmpty())
         continue;

+ 3 - 6
Plugins/org.commontk.dah.cmdlinemoduleapp/ctkCommandLineModuleAppLogic.cpp

@@ -65,8 +65,6 @@ ModuleInstance(0)
   {
     qDebug() << "ctkDicomAbstractApp: Could not getHostInterface()";
   }
-
-  ResultData = new ctkDicomAppHosting::AvailableData;
 }
 
 //----------------------------------------------------------------------------
@@ -78,8 +76,6 @@ ctkCommandLineModuleAppLogic::~ctkCommandLineModuleAppLogic()
   {
     qDebug() << plugins.at(i)->getSymbolicName ();
   }
-
-  delete ResultData;
 }
 
 //----------------------------------------------------------------------------
@@ -332,11 +328,12 @@ void ctkCommandLineModuleAppLogic::onCreateSecondaryCapture()
     //}
     qDebug() << "Created Uuid: " << getHostInterface()->generateUID();
 
-    ctkDicomAvailableDataHelper::addToAvailableData(*ResultData, 
+    ctkDicomAppHosting::AvailableData resultData;
+    ctkDicomAvailableDataHelper::addToAvailableData(resultData, 
       objectLocatorCache(), 
       outputFileName);
 
-    bool success = publishData(*ResultData, true);
+    bool success = publishData(resultData, true);
     if(!success)
     {
       qCritical() << "Failed to publish data";

+ 0 - 2
Plugins/org.commontk.dah.cmdlinemoduleapp/ctkCommandLineModuleAppLogic_p.h

@@ -89,8 +89,6 @@ private:
   ctkCmdLineModuleInstance* ModuleInstance;
 
   QString OutputLocation;
-
-  ctkDicomAppHosting::AvailableData* ResultData;
 }; // ctkCommandLineModuleAppLogic
 
 #endif // CTKCOMMANDLINEMODULEAPPLOGIC_P_H

+ 3 - 6
Plugins/org.commontk.dah.exampleapp/ctkExampleDicomAppLogic.cpp

@@ -62,8 +62,6 @@ ctkDicomAbstractApp(ctkExampleDicomAppPlugin::getPluginContext()), AppWidget(0)
   {
     qDebug() << "ctkDicomAbstractApp: Could not getHostInterface()";
   }
-
-  ResultData = new ctkDicomAppHosting::AvailableData;
 }
 
 //----------------------------------------------------------------------------
@@ -75,8 +73,6 @@ ctkExampleDicomAppLogic::~ctkExampleDicomAppLogic()
   {
     qDebug() << plugins.at(i)->getSymbolicName ();
   }
-
-  delete ResultData;
 }
 
 //----------------------------------------------------------------------------
@@ -297,11 +293,12 @@ void ctkExampleDicomAppLogic::onCreateSecondaryCapture()
       tmppixmap.save(tempfile->fileName(), "JPEG");
       qDebug() << "Created Uuid: " << getHostInterface()->generateUID();
 
-      ctkDicomAvailableDataHelper::addToAvailableData(*ResultData, 
+      ctkDicomAppHosting::AvailableData resultData;
+      ctkDicomAvailableDataHelper::addToAvailableData(resultData, 
         objectLocatorCache(), 
         tempfile->fileName());
 
-      bool success = publishData(*ResultData, true);
+      bool success = publishData(resultData, true);
       if(!success)
       {
         qCritical() << "Failed to publish data";

+ 0 - 2
Plugins/org.commontk.dah.exampleapp/ctkExampleDicomAppLogic_p.h

@@ -79,8 +79,6 @@ protected Q_SLOTS:
 private:
   QWidget * AppWidget;
   Ui::ctkExampleDicomAppWidget ui;
-
-  ctkDicomAppHosting::AvailableData* ResultData;
 }; // ctkExampleDicomAppLogic
 
 #endif // ctkExampleDicomAppLogic_P_H