Salome HOME
Provide correct static variable <aFilterManager> management to avoid problems, apperi...
authorjfa <jfa@opencascade.com>
Mon, 3 Oct 2005 13:01:36 +0000 (13:01 +0000)
committerjfa <jfa@opencascade.com>
Mon, 3 Oct 2005 13:01:36 +0000 (13:01 +0000)
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI_FilterLibraryDlg.cxx
src/SMESHGUI/SMESHGUI_FilterUtils.cxx
src/SMESHGUI/SMESHGUI_FilterUtils.h

index d481b7d..17f9fdc 100644 (file)
@@ -824,6 +824,7 @@ SalomeApp_Module( "SMESH" )
 SMESHGUI::~SMESHGUI()
 {
   SMESH::GetFilterManager()->Destroy();
+  SMESH::GetFilterManager() = SMESH::FilterManager::_nil();
 }
 
 //=============================================================================
index c4ca04c..8ea1769 100644 (file)
@@ -1041,7 +1041,7 @@ void SMESHGUI_FilterLibraryDlg::onDeleteBtnPressed()
                              tr("ERROR_OF_DELETING"), QMessageBox::Ok);
   } else {
     myCurrFilterName = "";
-    myCurrFilterName = -1;
+    myCurrFilter = -1;
     myListBox->removeItem(anIndex);
 
     if (anIndex >= 1)
index 360d004..e5c529f 100644 (file)
 
 #include "SMESHGUI.h"
 
+#include "utilities.h"
+
 namespace SMESH
 {
-  SMESH::FilterManager_var GetFilterManager()
+  SMESH::FilterManager_var& GetFilterManager()
   {
     static SMESH::FilterManager_var aFilterManager;
-    if (CORBA::is_nil(aFilterManager)){
-      aFilterManager = SMESHGUI::GetSMESHGen()->CreateFilterManager();
+    if (CORBA::is_nil(aFilterManager)) {
+        aFilterManager = SMESHGUI::GetSMESHGen()->CreateFilterManager();
     }
     return aFilterManager;
   }
index 85bd3d0..6b8c758 100644 (file)
@@ -26,7 +26,7 @@
 
 namespace SMESH{
 
-  SMESH::FilterManager_var GetFilterManager();
+  SMESH::FilterManager_var& GetFilterManager();
 
 }