stopOperation();
// is is necessary to deactivate current widgets before the model operation is aborted
// because abort removes the feature and activated filters should not check it
- propertyPanel()->cleanContent();
+ if (aPropertyPanel) { // feature may be not created (plugin load fail)
+ aPropertyPanel->cleanContent();
+ }
aMgr->abortOperation();
emit stopped();
# Swigged interfaces to Modeling Algorithms
from GeomAlgoAPI import GeomAlgoAPI_Boolean as Boolean
-from GeomAlgoAPI import GeomAlgoAPI_Extrusion as Extrusion
# Emulation of interfaces not yet swigged
// They were deactivated on operation start or an object redisplay
QObjectPtrList anObjects;
FeaturePtr aFeature = aFOperation->feature();
- if (myDisplayer->isVisible(aFeature) && !myDisplayer->isActive(aFeature))
- anObjects.append(aFeature);
- std::list<ResultPtr> aResults = aFeature->results();
- std::list<ResultPtr>::const_iterator aIt;
- for (aIt = aResults.begin(); aIt != aResults.end(); ++aIt) {
- ResultPtr anObject = *aIt;
- if (myDisplayer->isVisible(anObject) && !myDisplayer->isActive(anObject)) {
- anObjects.append(anObject);
+ if (aFeature.get()) { // feature may be not created (plugin load fail)
+ if (myDisplayer->isVisible(aFeature) && !myDisplayer->isActive(aFeature))
+ anObjects.append(aFeature);
+ std::list<ResultPtr> aResults = aFeature->results();
+ std::list<ResultPtr>::const_iterator aIt;
+ for (aIt = aResults.begin(); aIt != aResults.end(); ++aIt) {
+ ResultPtr anObject = *aIt;
+ if (myDisplayer->isVisible(anObject) && !myDisplayer->isActive(anObject)) {
+ anObjects.append(anObject);
+ }
}
}
QIntList aModes;