]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fix memory leaks
authorvsr <vsr@opencascade.com>
Mon, 21 Sep 2009 12:21:38 +0000 (12:21 +0000)
committervsr <vsr@opencascade.com>
Mon, 21 Sep 2009 12:21:38 +0000 (12:21 +0000)
src/BlocksGUI/BlocksGUI_BlockDlg.cxx
src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx
src/BlocksGUI/BlocksGUI_PropagateDlg.cxx
src/BlocksGUI/BlocksGUI_QuadFaceDlg.cxx
src/BlocksGUI/BlocksGUI_TrsfDlg.cxx
src/BooleanGUI/BooleanGUI_Dialog.cxx

index 5ebb5f4ceb4074052a94508ab7262a5706553af3..715bc222c461b278e629c9214d173bd388102c26 100644 (file)
@@ -477,11 +477,12 @@ bool BlocksGUI_BlockDlg::execute (ObjectList& objects)
 
   GEOM::GEOM_Object_var anObj;
 
+  GEOM::GEOM_IBlocksOperations_var anOper = GEOM::GEOM_IBlocksOperations::_narrow(getOperation());
+
   switch (getConstructorId()) {
   case 0:
     if (!CORBA::is_nil(myFace1) && !CORBA::is_nil(myFace2)) {
-      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-        MakeHexa2Faces(myFace1, myFace2);
+      anObj = anOper->MakeHexa2Faces(myFace1, myFace2);
       res = true;
     }
     break;
@@ -489,8 +490,7 @@ bool BlocksGUI_BlockDlg::execute (ObjectList& objects)
     if (!CORBA::is_nil(myFace1) && !CORBA::is_nil(myFace2) &&
         !CORBA::is_nil(myFace3) && !CORBA::is_nil(myFace4) &&
         !CORBA::is_nil(myFace5) && !CORBA::is_nil(myFace6)) {
-      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-        MakeHexa(myFace1, myFace2, myFace3, myFace4, myFace5, myFace6);
+      anObj = anOper->MakeHexa(myFace1, myFace2, myFace3, myFace4, myFace5, myFace6);
       res = true;
     }
     break;
index 8dcbdbbebcecabbca31809a59423381abcc8db42..6db2e767ac0341c42b0abd3ca437c5128bf343cf 100644 (file)
@@ -332,11 +332,11 @@ void BlocksGUI_ExplodeDlg::updateButtonState()
     myGrp1->TextBrowser1->setText( "" );
   } 
   else {
-    bool isOnlyBlocks = GEOM::GEOM_IBlocksOperations::_narrow
-      ( getOperation() )->IsCompoundOfBlocks( myObject,
-                                             myGrp1->SpinBox1->value(),
-                                             myGrp1->SpinBox2->value(),
-                                             myNbBlocks );
+    GEOM::GEOM_IBlocksOperations_var anOper = GEOM::GEOM_IBlocksOperations::_narrow(getOperation());
+    bool isOnlyBlocks = anOper->IsCompoundOfBlocks( myObject,
+                                                   myGrp1->SpinBox1->value(),
+                                                   myGrp1->SpinBox2->value(),
+                                                   myNbBlocks );
     if ( isOnlyBlocks )
       myGrp1->TextBrowser1->setText( tr( "GEOM_NB_BLOCKS_NO_OTHERS" ).arg( myNbBlocks ) );
     else
@@ -401,12 +401,13 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
 {
   GEOM::ListOfGO_var aList;
 
+  GEOM::GEOM_IBlocksOperations_var anOper = GEOM::GEOM_IBlocksOperations::_narrow(getOperation());
+
   switch ( getConstructorId() ) {
   case 0:
-    aList = GEOM::GEOM_IBlocksOperations::_narrow( getOperation() )->ExplodeCompoundOfBlocks
-      ( myObject,
-       myGrp1->SpinBox1->value(),
-       myGrp1->SpinBox2->value() );
+    aList = anOper->ExplodeCompoundOfBlocks( myObject,
+                                            myGrp1->SpinBox1->value(),
+                                            myGrp1->SpinBox2->value() );
     break;
   }
   
@@ -452,7 +453,7 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
       if ( selected.contains( QString( objStr.in() ) ) )
       {
        if ( !IsPreview() )
-         (*anIter)->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+          (*anIter)->SetParameters(aParameters.join(":").toLatin1().constData());
         objects.push_back( *anIter );
       }
       else
@@ -472,7 +473,7 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
     {
       GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_duplicate( aList[i] );
       if ( !IsPreview() )
-       anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+        anObj->SetParameters(aParameters.join(":").toLatin1().constData());
       objects.push_back( anObj._retn() );
     }
   }
index 07801d8a1a4b88a31d410e83c70043939b821ccd..83989caa91475b8ff68a66cb269825a567fc4b30 100644 (file)
@@ -239,7 +239,8 @@ bool BlocksGUI_PropagateDlg::isValid( QString& )
 //=================================================================================
 bool BlocksGUI_PropagateDlg::execute( ObjectList& objects )
 {
-  GEOM::ListOfGO_var aList = GEOM::GEOM_IBlocksOperations::_narrow( getOperation() )->Propagate( myObject );
+  GEOM::GEOM_IBlocksOperations_var anOper = GEOM::GEOM_IBlocksOperations::_narrow(getOperation());
+  GEOM::ListOfGO_var aList = anOper->Propagate( myObject );
   mainFrame()->ResultName->setText( "" );
 
   if ( !aList->length() )
index 930af1c45ea49c74b1673e64a5225411ae6fbd8e..fd32bbbd8440baec99b228449da4da629bab01f4 100644 (file)
@@ -532,20 +532,19 @@ bool BlocksGUI_QuadFaceDlg::execute (ObjectList& objects)
 
   GEOM::GEOM_Object_var anObj;
 
+  GEOM::GEOM_IBlocksOperations_var anOper = GEOM::GEOM_IBlocksOperations::_narrow(getOperation());
+
   switch (getConstructorId()) {
   case 0:
-    anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-      MakeQuad4Vertices(myShape1, myShape2, myShape3, myShape4);
+    anObj = anOper->MakeQuad4Vertices(myShape1, myShape2, myShape3, myShape4);
     res = true;
     break;
   case 1:
-    anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-      MakeQuad2Edges(myShape1, myShape2);
+    anObj = anOper->MakeQuad2Edges(myShape1, myShape2);
     res = true;
     break;
   case 2:
-    anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-      MakeQuad(myShape1, myShape2, myShape3, myShape4);
+    anObj = anOper->MakeQuad(myShape1, myShape2, myShape3, myShape4);
     res = true;
     break;
   default:
index 9508f69e9f656a6165ede0f36e1463ebb6d0dcac..b5d681c4ed492e842b34d92f37e392eb71fcdd6c 100644 (file)
@@ -576,28 +576,28 @@ bool BlocksGUI_TrsfDlg::execute (ObjectList& objects)
 
   GEOM::GEOM_Object_var anObj;
 
+  GEOM::GEOM_IBlocksOperations_var anOper = GEOM::GEOM_IBlocksOperations::_narrow(getOperation());
+
   switch (getConstructorId()) {
   case 0:
-    anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-      MakeMultiTransformation1D(myShape,
-                                myFaces[Face1], myFaces[Face2],
-                                mySpinBox[SpinBox1]->value());
+    anObj = anOper->MakeMultiTransformation1D(myShape,
+                                             myFaces[Face1], myFaces[Face2],
+                                             mySpinBox[SpinBox1]->value());
     if (!anObj->_is_nil() && !IsPreview())
     {
       QStringList aParameters;
       aParameters << "" << "";
       aParameters << mySpinBox[SpinBox1]->text();
-      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+      anObj->SetParameters(aParameters.join(":").toLatin1().constData());
     }
     res = true;
     break;
   case 1:
-    anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-      MakeMultiTransformation2D (myShape,
-                                 myFaces[Face1U], myFaces[Face2U],
-                                 mySpinBox[SpinBox2U]->value(),
-                                 myFaces[Face1V], myFaces[Face2V],
-                                 mySpinBox[SpinBox2V]->value());
+    anObj = anOper->MakeMultiTransformation2D (myShape,
+                                              myFaces[Face1U], myFaces[Face2U],
+                                              mySpinBox[SpinBox2U]->value(),
+                                              myFaces[Face1V], myFaces[Face2V],
+                                              mySpinBox[SpinBox2V]->value());
     if (!anObj->_is_nil() && !IsPreview())
     {
       QStringList aParameters;
@@ -605,7 +605,7 @@ bool BlocksGUI_TrsfDlg::execute (ObjectList& objects)
       aParameters << mySpinBox[SpinBox2U]->text();
       aParameters << "" << "";
       aParameters << mySpinBox[SpinBox2V]->text();
-      anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
+      anObj->SetParameters(aParameters.join(":").toLatin1().constData());
     }
     res = true;
     break;
index 7b1e3df5a01ac59c2125bb47baaf2d248364a406..6f4ca138b4569a4fc9f0a9273009aa1cbc57ad7d 100644 (file)
@@ -329,8 +329,8 @@ bool BooleanGUI_Dialog::execute (ObjectList& objects)
 {
   GEOM::GEOM_Object_var anObj;
 
-  anObj = GEOM::GEOM_IBooleanOperations::_narrow(getOperation())->
-    MakeBoolean(myObject1, myObject2, myOperation);
+  GEOM::GEOM_IBooleanOperations_var anOper = GEOM::GEOM_IBooleanOperations::_narrow(getOperation());
+  anObj = anOper->MakeBoolean(myObject1, myObject2, myOperation);
   if (!anObj->_is_nil())
     objects.push_back(anObj._retn());