Salome HOME
1. Correction for perfomance problem by Apply button state update: correction to...
authornds <nds@opencascade.com>
Thu, 14 Apr 2016 14:08:56 +0000 (17:08 +0300)
committernds <nds@opencascade.com>
Thu, 14 Apr 2016 14:08:56 +0000 (17:08 +0300)
src/PartSet/PartSet_WidgetPoint2d.cpp
src/PartSet/PartSet_WidgetPoint2dDistance.cpp
src/XGUI/XGUI_Displayer.cpp

index 29b8cf03d4f4b677b9687c81defbe436884fda12..6a51a04e8174a5138bd41d77c9ce2ff4124199b5 100644 (file)
@@ -186,6 +186,7 @@ bool PartSet_WidgetPoint2D::resetCustom()
       // if the restored value should be hidden, aDone = true to set
       // reset state for the widget in the parent
       aDone = restoreCurentValue();
+      emit objectUpdated();
     }
     else {
       bool isOk;
index f3991587b375a6180473b803b6d5efe74d197e1b..53295b3cc7b295aef9c1a162261f52f1dab2b725 100644 (file)
@@ -58,6 +58,7 @@ bool PartSet_WidgetPoint2dDistance::resetCustom()
       // if the restored value should be hidden, aDone = true to set
       // reset state for the widget in the parent
       aDone = restoreCurentValue();
+      emit objectUpdated();
     }
     else
       aDone = ModuleBase_WidgetDoubleValue::resetCustom();
index e969fbf013a8e57de5885ec6dacb84975f0bf1fc..cba9d06764a925623e791f67c55abcd5178fdad3 100644 (file)
@@ -440,7 +440,9 @@ bool XGUI_Displayer::isVisible(XGUI_Displayer* theDisplayer, const ObjectPtr& th
       }
     }
   }
-  else {
+  // it is possible that feature is presentable and has results, so we should check visibility
+  // of results if presentation is not shown (e.g. Sketch Circle/Arc features)
+  if (!aVisible) {
     // check if all results of the feature are visible
     FeaturePtr aFeature = ModelAPI_Feature::feature(theObject);
     std::list<ResultPtr> aResults = aFeature->results();