From c8b86ad3b0fe231bf4b883d12d363b6897cef582 Mon Sep 17 00:00:00 2001 From: nds Date: Tue, 17 Mar 2015 17:48:24 +0300 Subject: [PATCH] Multi-selection widget to be used in the extrusion feature. Crash fix. --- src/PartSet/PartSet_WidgetShapeSelector.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/PartSet/PartSet_WidgetShapeSelector.cpp b/src/PartSet/PartSet_WidgetShapeSelector.cpp index 44962e590..93aac5e0c 100644 --- a/src/PartSet/PartSet_WidgetShapeSelector.cpp +++ b/src/PartSet/PartSet_WidgetShapeSelector.cpp @@ -20,15 +20,12 @@ bool PartSet_WidgetShapeSelector::storeAttributeValues(ObjectPtr theSelectedObje ObjectPtr aSelectedObject = theSelectedObject; GeomShapePtr aShape = theShape; - if (!aSelectedObject) - return false; - FeaturePtr aSelectedFeature = ModelAPI_Feature::feature(aSelectedObject); if (aSelectedFeature == myFeature) // In order to avoid selection of the same object return false; std::shared_ptr aSPFeature = std::dynamic_pointer_cast(aSelectedFeature); - if ((!aSPFeature) && (!aShape->isNull())) { + if (aSPFeature.get() != NULL && aShape.get() != NULL && !aShape->isNull()) { // Processing of external (non-sketch) object ObjectPtr aObj = PartSet_Tools::createFixedObjectByExternal(aShape->impl(), aSelectedObject, mySketch); @@ -56,7 +53,6 @@ bool PartSet_WidgetShapeSelector::storeAttributeValues(ObjectPtr theSelectedObje aRefAttr->setAttr(aPntAttr); else if (aSelectedObject) aRefAttr->setObject(aSelectedObject); - //updateObject(myFeature); return true; } } @@ -64,4 +60,3 @@ bool PartSet_WidgetShapeSelector::storeAttributeValues(ObjectPtr theSelectedObje return ModuleBase_WidgetShapeSelector::storeAttributeValues(aSelectedObject, aShape); } - -- 2.39.2