aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-08-02 11:39:17 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-08-02 15:30:09 -0300
commitd4f911f5b377b6847bd6309e3f6c5aa00a3690bd (patch)
treef079f3192793d67b207b32b4dd380fb5f7203e74
parenta6440638302436156fb8441a64f24eb8b5208c62 (diff)
Raise a python error when signal not found on object.
Reviewer: Renato Araújo <renato.filho@openbossa.org> Marcelo Lira <marcelo.lira@openbossa.org>
-rw-r--r--libpyside/qsignal.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libpyside/qsignal.cpp b/libpyside/qsignal.cpp
index dff9cc184..ec0610bb6 100644
--- a/libpyside/qsignal.cpp
+++ b/libpyside/qsignal.cpp
@@ -212,6 +212,7 @@ PyObject* signal_instance_get_item(PyObject* self, PyObject* key)
char* sigKey = signal_parse_signature(key);
char* sig = signal_build_signature(data->signalName, sigKey);
free(sigKey);
+ const char* sigName = data->signalName;
while(data) {
if (strcmp(data->signature, sig) == 0) {
@@ -222,7 +223,9 @@ PyObject* signal_instance_get_item(PyObject* self, PyObject* key)
}
data = reinterpret_cast<SignalInstanceData*>(data->next);
}
+ PyErr_Format(PyExc_IndexError, "Signature %s not found for signal: %s", sig, sigName);
free(sig);
+
return 0;
}