]> SALOME platform Git repositories - modules/multipr.git/commitdiff
Salome HOME
Fix pb. with opening a sequential file in a second study.
authorjfa <jfa@opencascade.com>
Wed, 24 Oct 2007 12:40:58 +0000 (12:40 +0000)
committerjfa <jfa@opencascade.com>
Wed, 24 Oct 2007 12:40:58 +0000 (12:40 +0000)
src/MULTIPRGUI/MULTIPR_GUI.cxx
src/MULTIPRGUI/MULTIPR_GUI.h

index 586edc63e7291d8da65e23bd009871c57b0690fc..1ca14be7450d1fe7c9d5142a3db2b0f842e84c17 100644 (file)
@@ -182,7 +182,7 @@ MULTIPR_ORB::MULTIPR_Gen_ptr GetMultiprGen (const CAM_Module* theModule)
 
 MULTIPR_GUI::MULTIPR_GUI()
   : SalomeApp_Module("MULTIPR"),
-    mMULTIPRObj(NULL),
+    //mMULTIPRObj(NULL),
     mMEDFileName(""),
     mProgress(NULL)
 {
@@ -193,7 +193,8 @@ MULTIPR_GUI::MULTIPR_GUI()
 
 MULTIPR_GUI::~MULTIPR_GUI()
 {
-    if (mMULTIPRObj != NULL)
+  //if (mMULTIPRObj != NULL)
+  if (!CORBA::is_nil(mMULTIPRObj))
     {
         CORBA::release(mMULTIPRObj);
     }
@@ -372,14 +373,16 @@ bool MULTIPR_GUI::deactivateModule(SUIT_Study* theStudy)
 {
     setMenuShown(false);
     setToolShown(false);
-    
+
     // Unset actions accelerator keys
     action(ACTION_IMPORT_MED)->setAccel(QKeySequence());
-  
+
+    mMULTIPRObj = MULTIPR_ORB::MULTIPR_Obj::_nil();
+
     return SalomeApp_Module::deactivateModule(theStudy);
 }
 
-  
+
 void MULTIPR_GUI::windows(QMap<int, int>& theMap) const
 {
     theMap.clear();
@@ -444,7 +447,8 @@ void MULTIPR_GUI::OnImportFromMEDFile()
     QApplication::setOverrideCursor(Qt::waitCursor);
 
     // Delete previous MULTIPR object.
-    if (mMULTIPRObj != NULL)
+    //if (mMULTIPRObj != NULL)
+    if (!CORBA::is_nil(mMULTIPRObj) && !mMULTIPRObj->_non_existent())
     {
         mMULTIPRObj->reset();
     }
@@ -465,7 +469,8 @@ void MULTIPR_GUI::OnImportFromMEDFile()
     }
     QApplication::restoreOverrideCursor();
     
-    if (mMULTIPRObj != NULL)
+    //if (mMULTIPRObj != NULL)
+    if (!CORBA::is_nil(mMULTIPRObj))
     {
         SALOMEDS::SObject_ptr aSObject = SALOMEDS::SObject::_nil();
         SalomeApp_Study* aSAStudy = dynamic_cast<SalomeApp_Study*>(getApp()->activeStudy());
@@ -493,7 +498,8 @@ void MULTIPR_GUI::OnImportFromMEDFile()
 void MULTIPR_GUI::OnPartition1()
 {
     // check if MULTIPRObj exists
-    if (mMULTIPRObj == NULL)
+    //if (mMULTIPRObj == NULL)
+    if (CORBA::is_nil(mMULTIPRObj))
     {
         return;
     }
@@ -548,7 +554,8 @@ void MULTIPR_GUI::OnPartition1()
 void MULTIPR_GUI::OnPartition2()
 {
     // check if MULTIPRObj exists
-    if (mMULTIPRObj == NULL)
+    //if (mMULTIPRObj == NULL)
+    if (CORBA::is_nil(mMULTIPRObj))
     {
         return;
     }
@@ -581,7 +588,8 @@ void MULTIPR_GUI::OnPartition2()
 void MULTIPR_GUI::OnDecimate()
 {
     // check if MULTIPRObj exists
-    if (mMULTIPRObj == NULL)
+    //if (mMULTIPRObj == NULL)
+    if (CORBA::is_nil(mMULTIPRObj))
     {
         return;
     }
@@ -627,7 +635,8 @@ void MULTIPR_GUI::OnDecimate()
 void MULTIPR_GUI::OnRemove()
 {
     // check if MULTIPRObj exists
-    if (mMULTIPRObj == NULL)
+    //if (mMULTIPRObj == NULL)
+    if (CORBA::is_nil(mMULTIPRObj))
     {
         return;
     }
@@ -685,7 +694,8 @@ void MULTIPR_GUI::OnRemove()
 void MULTIPR_GUI::OnSave()
 {
   // check if MULTIPRObj exists
-  if (mMULTIPRObj == NULL)
+  //if (mMULTIPRObj == NULL)
+  if (CORBA::is_nil(mMULTIPRObj))
   {
     return;
   }
@@ -762,7 +772,8 @@ void MULTIPR_GUI::retrieveSelectedParts()
 
 bool MULTIPR_GUI::isPartExist(const char* partName)
 {
-    if (mMULTIPRObj == NULL) return false;
+  //if (mMULTIPRObj == NULL) return false;
+    if (CORBA::is_nil(mMULTIPRObj)) return false;
     
     MULTIPR_ORB::string_array* listParts = mMULTIPRObj->getParts();
     for (int i=0 ; i<listParts->length() ; i++)
index a63dfec53e5d068ecd61dadf239b22123efd43c2..6fccaf9a0791764dcde3b0f9486f946cb3c274f5 100644 (file)
@@ -121,7 +121,8 @@ private:
 
     QString                      mMEDFileName;
     QStringList                  mSelectedParts;
-    MULTIPR_ORB::MULTIPR_Obj_ptr mMULTIPRObj;
+    //MULTIPR_ORB::MULTIPR_Obj_ptr mMULTIPRObj;
+    MULTIPR_ORB::MULTIPR_Obj_var mMULTIPRObj;
 
     QProgressDialog*             mProgress;
     //MULTIPR_GUI_ProgressCallbackDlg* mProgress;