aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/libpyside')
-rw-r--r--sources/pyside6/libpyside/dynamicslot.cpp3
-rw-r--r--sources/pyside6/libpyside/pyside.cpp5
-rw-r--r--sources/pyside6/libpyside/pysidesignal.cpp5
-rw-r--r--sources/pyside6/libpyside/pysideutils.h2
-rw-r--r--sources/pyside6/libpyside/qobjectconnect.cpp3
5 files changed, 11 insertions, 7 deletions
diff --git a/sources/pyside6/libpyside/dynamicslot.cpp b/sources/pyside6/libpyside/dynamicslot.cpp
index 1fbdba1ab..e0a24558b 100644
--- a/sources/pyside6/libpyside/dynamicslot.cpp
+++ b/sources/pyside6/libpyside/dynamicslot.cpp
@@ -8,6 +8,7 @@
#include "signalmanager.h"
#include <autodecref.h>
+#include <helper.h>
#include <gilstate.h>
#include <pep384ext.h>
@@ -26,7 +27,7 @@ DynamicSlot::SlotType DynamicSlot::slotType(PyObject *callback)
{
if (PyMethod_Check(callback) != 0)
return SlotType::Method;
- if (PySide::isCompiledMethod(callback) != 0)
+ if (Shiboken::isCompiledMethod(callback))
return SlotType::CompiledMethod;
if (PyCFunction_Check(callback) != 0)
return SlotType::C_Function;
diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp
index e061f16a9..c9c9b293f 100644
--- a/sources/pyside6/libpyside/pyside.cpp
+++ b/sources/pyside6/libpyside/pyside.cpp
@@ -28,6 +28,7 @@
#include <basewrapper.h>
#include <bindingmanager.h>
#include <gilstate.h>
+#include <helper.h>
#include <sbkconverter.h>
#include <sbkstring.h>
#include <sbkstaticstrings.h>
@@ -875,9 +876,7 @@ QString pyPathToQString(PyObject *path)
bool isCompiledMethod(PyObject *callback)
{
- return PyObject_HasAttr(callback, PySide::PySideName::im_func())
- && PyObject_HasAttr(callback, PySide::PySideName::im_self())
- && PyObject_HasAttr(callback, PySide::PySideMagicName::code());
+ return Shiboken::isCompiledMethod(callback);
}
static const unsigned char qt_resource_name[] = {
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index 32f00877b..6e5fccae5 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -11,6 +11,7 @@
#include "signalmanager.h"
#include <shiboken.h>
+#include <helper.h>
#include <sbkstaticstrings.h>
#include <QtCore/QByteArray>
@@ -423,7 +424,7 @@ static FunctionArgumentsResult extractFunctionArgumentsFromSlot(PyObject *slot)
ret.objCode = reinterpret_cast<PepCodeObject *>(PyFunction_GET_CODE(ret.function));
ret.functionName = PepFunction_GetName(ret.function);
- } else if (PySide::isCompiledMethod(slot)) {
+ } else if (Shiboken::isCompiledMethod(slot)) {
// PYSIDE-1523: PyFunction_Check and PyMethod_Check are not accepting compiled forms, we
// just go by attributes.
ret.isMethod = true;
@@ -1363,7 +1364,7 @@ QByteArray codeCallbackName(PyObject *callback, const QByteArray &funcName)
return funcName + QByteArray::number(quint64(self), 16) + QByteArray::number(quint64(func), 16);
}
// PYSIDE-1523: Handle the compiled case.
- if (PySide::isCompiledMethod(callback)) {
+ if (Shiboken::isCompiledMethod(callback)) {
// Not retaining references inline with what PyMethod_GET_(SELF|FUNC) does.
Shiboken::AutoDecRef self(PyObject_GetAttr(callback, PySide::PySideName::im_self()));
Shiboken::AutoDecRef func(PyObject_GetAttr(callback, PySide::PySideName::im_func()));
diff --git a/sources/pyside6/libpyside/pysideutils.h b/sources/pyside6/libpyside/pysideutils.h
index 47c2f2c1b..579e7f74c 100644
--- a/sources/pyside6/libpyside/pysideutils.h
+++ b/sources/pyside6/libpyside/pysideutils.h
@@ -35,6 +35,8 @@ PYSIDE_API QString pyStringToQString(PyObject *str);
/// Provide an efficient, correct PathLike interface.
PYSIDE_API QString pyPathToQString(PyObject *path);
+/// Returns whether \a method is a compiled method (Nuitka).
+/// \sa Shiboken::isCompiledMethod()
PYSIDE_API bool isCompiledMethod(PyObject *callback);
struct debugPyTypeObject
diff --git a/sources/pyside6/libpyside/qobjectconnect.cpp b/sources/pyside6/libpyside/qobjectconnect.cpp
index 568e248dd..bb98682c2 100644
--- a/sources/pyside6/libpyside/qobjectconnect.cpp
+++ b/sources/pyside6/libpyside/qobjectconnect.cpp
@@ -13,6 +13,7 @@
#include <sbkstaticstrings.h>
#include "basewrapper.h"
#include "autodecref.h"
+#include <helper.h>
#include <QtCore/QDebug>
#include <QtCore/QMetaMethod>
@@ -113,7 +114,7 @@ static GetReceiverResult getReceiver(QMetaMethod signal, PyObject *callback)
} else if (PyCFunction_Check(callback)) {
result.self = PyCFunction_GetSelf(callback);
result.receiver = PySide::convertToQObject(result.self, false);
- } else if (PySide::isCompiledMethod(callback)) {
+ } else if (Shiboken::isCompiledMethod(callback)) {
result.self = PyObject_GetAttr(callback, Shiboken::PyName::im_self());
Py_DECREF(result.self);
result.receiver = PySide::convertToQObject(result.self, false);