aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-08-13 18:22:22 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-08-16 10:48:42 -0300
commit6bd528978cad1fe2c0e56cb35b270346da3fbbdd (patch)
tree35a8b0abaaddce5bd26f4c06a3bebbb19f014239 /libpyside
parent1162a844bd689958205d10eeff549451ee8cb93b (diff)
Raise a error when try to modify a read-only property.
Add get function as mandatory in QProperty constructor. Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'libpyside')
-rw-r--r--libpyside/qproperty.cpp12
-rw-r--r--libpyside/signalmanager.cpp1
2 files changed, 7 insertions, 6 deletions
diff --git a/libpyside/qproperty.cpp b/libpyside/qproperty.cpp
index f20c38727..b2d011e85 100644
--- a/libpyside/qproperty.cpp
+++ b/libpyside/qproperty.cpp
@@ -143,11 +143,11 @@ int qproperty_init(PyObject* self, PyObject* args, PyObject* kwds)
"designable", "scriptable", "stored", "user",
"constant", "final", 0};
if (!PyArg_ParseTupleAndKeywords(args, kwds,
- "O|OOOOsbbbbbb:QtCore.QProperty", (char**) kwlist,
- /*O*/&type,
- /*OOOO*/ &(data->fget), &(data->fset), &(data->freset), &(data->fdel),
- /*s*/&(data->doc),
- /*bbbbbb*/&(data->designable), &(data->scriptable), &(data->stored), &(data->user), &(data->constant), &(data->final)))
+ "OO|OOOsbbbbbb:QtCore.QProperty", (char**) kwlist,
+ /*OO*/ &type, &(data->fget),
+ /*OOOO*/ &(data->fset), &(data->freset), &(data->fdel),
+ /*s*/ &(data->doc),
+ /*bbbbbb*/ &(data->designable), &(data->scriptable), &(data->stored), &(data->user), &(data->constant), &(data->final)))
return 0;
if (!data->fset && data->fget)
@@ -187,6 +187,8 @@ int qproperty_set(PyObject* self, PyObject* source, PyObject* value)
Py_INCREF(value);
Shiboken::AutoDecRef result(PyObject_CallObject(data->fset, args));
return (result.isNull() ? -1 : 0);
+ } else {
+ PyErr_SetString(PyExc_AttributeError, "Attibute read only");
}
return -1;
}
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index 7482f016d..ed1573207 100644
--- a/libpyside/signalmanager.cpp
+++ b/libpyside/signalmanager.cpp
@@ -373,7 +373,6 @@ int SignalManager::qt_metacall(QObject* object, QMetaObject::Call call, int id,
Py_XDECREF(pp_name);
return id - metaObject->methodCount();
}
- printf("access to property: %s-%s\n", mp.name(), mp.typeName());
typeResolver = Shiboken::TypeResolver::get(mp.typeName());
}