]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Bug #1001: Fatal error after activation part
authordbv <dbv@opencascade.com>
Fri, 18 Sep 2015 14:27:33 +0000 (17:27 +0300)
committerdbv <dbv@opencascade.com>
Fri, 18 Sep 2015 14:27:53 +0000 (17:27 +0300)
src/PartSet/PartSet_Module.cpp

index ac028364420d100387a6a8500b1e56d58cda7f95..67f1bcf7a857a65ddb98e52e1014dca3bf21bc97 100755 (executable)
@@ -1011,8 +1011,6 @@ void PartSet_Module::processEvent(const std::shared_ptr<Events_Message>& theMess
       }
     }
 #else
-    // Problem with MPV: At first time on creation it doesn't work because Part feature
-    // creation event will be sent after
     if (aActivePartIndex.isValid())
       aTreeView->setExpanded(aActivePartIndex, false);
     XGUI_DataModel* aDataModel = aWorkshop->objectBrowser()->dataModel();
@@ -1026,8 +1024,14 @@ void PartSet_Module::processEvent(const std::shared_ptr<Events_Message>& theMess
     // Update displayed objects in order to update active color
     XGUI_Displayer* aDisplayer = aWorkshop->displayer();
     QObjectPtrList aObjects = aDisplayer->displayedObjects();
-    foreach(ObjectPtr aObj, aObjects)
-      aDisplayer->redisplay(aObj, false);
+    bool aHidden;
+    foreach(ObjectPtr aObj, aObjects) {
+      //TODO: replace by redisplay event.
+      aHidden = !aObj->data() || !aObj->data()->isValid() || 
+        aObj->isDisabled() || (!aObj->isDisplayed());
+      if (!aHidden)
+        aDisplayer->redisplay(aObj, false);
+    }
     aDisplayer->updateViewer();
   }
 }