]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.cxx
Garbage collector added
[cpPlugins.git] / appli / ImageMPR / ImageMPR.cxx
index 26c8f349076c6e8c50a8047c2f7a4a200dc2d474..1d0570304d3c6a00f7cabebd074188f5e3cc51e8 100644 (file)
@@ -46,7 +46,6 @@ ImageMPR::
   // Delete objects
   delete this->m_UI;
   delete this->m_MPR;
-  if( this->m_InputImage != NULL ) delete this->m_InputImage;
 }
 
 // -------------------------------------------------------------------------
@@ -99,17 +98,15 @@ _triggered_actionOpenInputImage( )
   if( !( dialog.exec( ) ) )
     return;
   
-  if( this->m_InputImage != NULL )
-    delete this->m_InputImage;
   this->m_InputImage = NULL;
   unsigned int nFiles = dialog.selectedFiles( ).size( );
   if( nFiles == 1 )
   {
     std::string fname = dialog.selectedFiles( ).at( 0 ).toStdString( );
 
-    TPlugin* reader =
-      dynamic_cast< TPlugin* >(
-      this->m_Plugins.CreateObject( this->m_BaseClasses[ "ImageReader" ] )
+    TPlugin::Pointer reader =
+      this->m_Plugins.CreateProcessObject(
+        this->m_BaseClasses[ "ImageReader" ]
         );
 
     TParameters reader_params = reader->GetDefaultParameters( );
@@ -132,7 +129,6 @@ _triggered_actionOpenInputImage( )
         tr( "Error reading single image" ),
         tr( err.c_str( ) )
         );
-    delete reader;
   }
   else if( nFiles > 1 )
   {
@@ -154,7 +150,7 @@ _triggered_actionOpenInputImage( )
 
   } // fi
 
-  if( this->m_InputImage != NULL )
+  if( this->m_InputImage.IsNotNull( ) )
     this->m_MPR->SetImage( this->m_InputImage->GetVTKImageData( ) );
 }