aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build_history/blacklist.txt4
-rw-r--r--sources/pyside6/libpyside/globalreceiverv2.cpp11
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()