do not allow to delete properties in FeaturePythonPyT

This commit is contained in:
wmayer 2016-11-10 23:57:41 +01:00
parent f345501dec
commit 025cf18714
2 changed files with 7 additions and 1 deletions

View File

@ -24,7 +24,7 @@
#define APP_FEATUREPYTHONPYIMP_H
#include <Base/BaseClass.h>
#include <Base/PyObjectBase.h>
#include <App/PropertyContainerPy.h>
namespace App
{

View File

@ -113,6 +113,12 @@ int FeaturePythonPyT<FeaturePyT>::__setattr(PyObject *obj, char *attr, PyObject
template<class FeaturePyT>
int FeaturePythonPyT<FeaturePyT>::_setattr(char *attr, PyObject *value)
{
App::Property *prop = FeaturePyT::getPropertyContainerPtr()->getPropertyByName(attr);
if (prop && !value) {
PyErr_Format(PyExc_AttributeError, "Cannot delete attribute: '%s'", attr);
return -1;
}
int returnValue = FeaturePyT::_setattr(attr, value);
if (returnValue == -1) {
PyObject* dict_item = value;