diff --git a/src/PythonQtSignalReceiver.cpp b/src/PythonQtSignalReceiver.cpp index 0217c73..b10086a 100644 --- a/src/PythonQtSignalReceiver.cpp +++ b/src/PythonQtSignalReceiver.cpp @@ -132,6 +132,11 @@ PyObject* PythonQtSignalTarget::call(PyObject* callable, const PythonQtMethodInf return result; } +bool PythonQtSignalTarget::isSame( int signalId, PyObject* callable ) const +{ + return PyObject_Compare(callable, _callable) == 0 && signalId==_signalId; +} + //------------------------------------------------------------------------------ PythonQtSignalReceiver::PythonQtSignalReceiver(QObject* obj):PythonQtSignalReceiverBase(obj) diff --git a/src/PythonQtSignalReceiver.h b/src/PythonQtSignalReceiver.h index 210f8d6..49ac0dc 100644 --- a/src/PythonQtSignalReceiver.h +++ b/src/PythonQtSignalReceiver.h @@ -84,7 +84,7 @@ public: void call(void **arguments) const; //! check if it is the same signal target - bool isSame(int signalId, PyObject* callable) const { return callable==_callable && signalId==_signalId; } + bool isSame(int signalId, PyObject* callable) const; //! call the given callable with arguments described by PythonQtMethodInfo, returns a new reference as result value (or NULL) static PyObject* call(PyObject* callable, const PythonQtMethodInfo* methodInfo, void **arguments, bool skipFirstArgumentOfMethodInfo = false);