Raise a python error when signal not found on object.
Reviewer: Renato Araújo <renato.filho@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
This commit is contained in:
parent
a644063830
commit
d4f911f5b3
1 changed files with 3 additions and 0 deletions
|
|
@ -212,6 +212,7 @@ PyObject* signal_instance_get_item(PyObject* self, PyObject* key)
|
||||||
char* sigKey = signal_parse_signature(key);
|
char* sigKey = signal_parse_signature(key);
|
||||||
char* sig = signal_build_signature(data->signalName, sigKey);
|
char* sig = signal_build_signature(data->signalName, sigKey);
|
||||||
free(sigKey);
|
free(sigKey);
|
||||||
|
const char* sigName = data->signalName;
|
||||||
|
|
||||||
while(data) {
|
while(data) {
|
||||||
if (strcmp(data->signature, sig) == 0) {
|
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);
|
data = reinterpret_cast<SignalInstanceData*>(data->next);
|
||||||
}
|
}
|
||||||
|
PyErr_Format(PyExc_IndexError, "Signature %s not found for signal: %s", sig, sigName);
|
||||||
free(sig);
|
free(sig);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue