diff options
-rw-r--r-- | build_history/blacklist.txt | 4 | ||||
-rw-r--r-- | sources/pyside6/libpyside/globalreceiverv2.cpp | 11 |
2 files changed, 5 insertions, 10 deletions
diff --git a/build_history/blacklist.txt b/build_history/blacklist.txt index 475e5d40e..1da2b0ca0 100644 --- a/build_history/blacklist.txt +++ b/build_history/blacklist.txt @@ -6,6 +6,10 @@ linux darwin win32 +[signals::anonymous_slot_leak_test] + linux + darwin + win32 [Qt3DExtras::qt3dextras_test] win32 ci linux diff --git a/sources/pyside6/libpyside/globalreceiverv2.cpp b/sources/pyside6/libpyside/globalreceiverv2.cpp index b8c542eb1..8289eaff6 100644 --- a/sources/pyside6/libpyside/globalreceiverv2.cpp +++ b/sources/pyside6/libpyside/globalreceiverv2.cpp @@ -106,16 +106,7 @@ GlobalReceiverKey DynamicSlotDataV2::key(PyObject *callback) Shiboken::AutoDecRef func(PyObject_GetAttr(callback, PySide::PySideName::im_func())); return {self, func}; } - // PYSIDE-2299: Callbacks can have the same code, but we only need one GlobalReceiverV2 for all - // of them. If we used the callback itself instead of the code object, we would - // create a new GlobalReceiverV2 for each in SignalManager::globalReceiver() - // (signalmanager.cpp), leaking memory. - - // TODO: Need proper fix. This is temporary - if (std::strcmp(Py_TYPE(callback)->tp_name, "functools.partial") == 0) - return {nullptr, callback}; - - return {nullptr, PyFunction_GetCode(callback)}; + return {nullptr, callback}; } PyObject *DynamicSlotDataV2::callback() |