diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2025-08-28 16:03:07 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2025-09-05 17:04:32 +0200 |
| commit | a20415359379131ec09b5598c60dcb436e2b699d (patch) | |
| tree | 272a4d40d246826bcec35db1631364d48d1bce8b /sources/pyside6/libpyside | |
| parent | e0fab6e0c832ead571e0ba43f6e67f391fc37797 (diff) | |
libshiboken: Split out PEP functions from sbkpython.h
libshiboken provides replacement functions prefixed "Pep" for
functions missing from the limited API or appearing in future Python
versions (pep384impl.h, bufferprocs_py37.h, pep384ext.h). This used to
be included in the sbkpython.h header, which provides a sanitized
Python.h.
This patch removes the PEP headers from sbkpython.h header, requiring
code using the replacement functions to explicitly include new headers
(sbkpep.h, sbkpepbuffer.h). The generator automatically includes
sbkpep.h for code snippet compatibility.
The aim is to be able to identify code using the replacement
functions. It is expected that the usage decreases over time as the
Limited API versions are raised and more eplacement functions become
obsolete.
[ChangeLog][shiboken6] libshiboken's replacement functions providing
functions missing from the limited API or appearing in future Python
versions have been moved from sbkpython.h (providing a sanitized
Python.h) to separate headers sbkpep.h and sbkpepbuffer.h (providing
buffer API). This should not affect binding code as the generator
includes the new headers, but may require adaption in client code
using libshiboken/libpyside directly.
Task-number: PYSIDE-3171
Change-Id: I5d79a40ba6755a80c8da99e4ddd6ef93463b4ddf
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/pyside6/libpyside')
| -rw-r--r-- | sources/pyside6/libpyside/dynamicqmetaobject.cpp | 1 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/feature_select.cpp | 1 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/pyside.cpp | 11 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/pysidemetafunction.cpp | 1 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/pysideqenum.cpp | 1 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/pysideslot.cpp | 1 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/pysideutils.h | 2 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/pysidevariantutils.cpp | 1 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/qobjectconnect.cpp | 1 | ||||
| -rw-r--r-- | sources/pyside6/libpyside/signalmanager.cpp | 1 |
10 files changed, 17 insertions, 4 deletions
diff --git a/sources/pyside6/libpyside/dynamicqmetaobject.cpp b/sources/pyside6/libpyside/dynamicqmetaobject.cpp index 76b02a04f..ace83a17c 100644 --- a/sources/pyside6/libpyside/dynamicqmetaobject.cpp +++ b/sources/pyside6/libpyside/dynamicqmetaobject.cpp @@ -13,6 +13,7 @@ #include <autodecref.h> #include <gilstate.h> +#include <sbkpep.h> #include <sbkstaticstrings.h> #include <sbkstring.h> diff --git a/sources/pyside6/libpyside/feature_select.cpp b/sources/pyside6/libpyside/feature_select.cpp index 6fde4eef3..1a7d8e57b 100644 --- a/sources/pyside6/libpyside/feature_select.cpp +++ b/sources/pyside6/libpyside/feature_select.cpp @@ -8,6 +8,7 @@ #include <autodecref.h> #include <sbkfeature_base.h> +#include <sbkpep.h> #include <sbkstaticstrings.h> #include <sbkstring.h> #include <signature_p.h> diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp index 3ad93650a..45044225c 100644 --- a/sources/pyside6/libpyside/pyside.cpp +++ b/sources/pyside6/libpyside/pyside.cpp @@ -31,6 +31,7 @@ #include <helper.h> #include <sbkconverter.h> #include <sbkerrors.h> +#include <sbkpep.h> #include <sbkstring.h> #include <sbkstaticstrings.h> #include <sbkfeature_base.h> @@ -1215,10 +1216,6 @@ QDebug operator<<(QDebug debug, const debugPyObject &o) return debug; } -debugPyBuffer::debugPyBuffer(Py_buffer *b) noexcept : m_buffer(b) -{ -} - static void formatPy_ssizeArray(QDebug &debug, const char *name, const Py_ssize_t *array, int len) { debug << ", " << name << '='; @@ -1232,6 +1229,11 @@ static void formatPy_ssizeArray(QDebug &debug, const char *name, const Py_ssize_ } } +#if !defined(Py_LIMITED_API) || Py_LIMITED_API >= 0x030B0000 +debugPyBuffer::debugPyBuffer(Py_buffer *b) noexcept : m_buffer(b) +{ +} + PYSIDE_API QDebug operator<<(QDebug debug, const debugPyBuffer &b) { QDebugStateSaver saver(debug); @@ -1257,5 +1259,6 @@ PYSIDE_API QDebug operator<<(QDebug debug, const debugPyBuffer &b) debug << ')'; return debug; } +#endif // !Py_LIMITED_API || >= 3.11 } // namespace PySide diff --git a/sources/pyside6/libpyside/pysidemetafunction.cpp b/sources/pyside6/libpyside/pysidemetafunction.cpp index fa321c5b6..770146ef2 100644 --- a/sources/pyside6/libpyside/pysidemetafunction.cpp +++ b/sources/pyside6/libpyside/pysidemetafunction.cpp @@ -9,6 +9,7 @@ #include <autodecref.h> #include <basewrapper.h> #include <sbkconverter.h> +#include <sbkpep.h> #include <sbktypefactory.h> #include <signature.h> diff --git a/sources/pyside6/libpyside/pysideqenum.cpp b/sources/pyside6/libpyside/pysideqenum.cpp index 9576ec715..581a3ff2f 100644 --- a/sources/pyside6/libpyside/pysideqenum.cpp +++ b/sources/pyside6/libpyside/pysideqenum.cpp @@ -6,6 +6,7 @@ #include <autodecref.h> #include <sbkconverter.h> #include <sbkenum.h> +#include <sbkpep.h> #include <sbkstaticstrings.h> #include <sbkstring.h> diff --git a/sources/pyside6/libpyside/pysideslot.cpp b/sources/pyside6/libpyside/pysideslot.cpp index 44f0f4d06..b426bec1a 100644 --- a/sources/pyside6/libpyside/pysideslot.cpp +++ b/sources/pyside6/libpyside/pysideslot.cpp @@ -7,6 +7,7 @@ #include <autodecref.h> #include <basewrapper.h> +#include <sbkpep.h> #include <sbkstaticstrings.h> #include <sbkstring.h> #include <sbktypefactory.h> diff --git a/sources/pyside6/libpyside/pysideutils.h b/sources/pyside6/libpyside/pysideutils.h index a174cdfa0..db2f705e9 100644 --- a/sources/pyside6/libpyside/pysideutils.h +++ b/sources/pyside6/libpyside/pysideutils.h @@ -57,6 +57,7 @@ struct debugPyObject PYSIDE_API QDebug operator<<(QDebug debug, const debugPyObject &o); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API >= 0x030B0000 struct debugPyBuffer { PYSIDE_API explicit debugPyBuffer(Py_buffer *b) noexcept; @@ -65,6 +66,7 @@ struct debugPyBuffer }; PYSIDE_API QDebug operator<<(QDebug debug, const debugPyBuffer &b); +#endif // !Py_LIMITED_API || >= 3.11 } //namespace PySide diff --git a/sources/pyside6/libpyside/pysidevariantutils.cpp b/sources/pyside6/libpyside/pysidevariantutils.cpp index cf5b7a541..5aaa363f9 100644 --- a/sources/pyside6/libpyside/pysidevariantutils.cpp +++ b/sources/pyside6/libpyside/pysidevariantutils.cpp @@ -8,6 +8,7 @@ #include <autodecref.h> #include <sbkconverter.h> +#include <sbkpep.h> #include <basewrapper.h> using namespace Qt::StringLiterals; diff --git a/sources/pyside6/libpyside/qobjectconnect.cpp b/sources/pyside6/libpyside/qobjectconnect.cpp index 3c862b3aa..deef858ca 100644 --- a/sources/pyside6/libpyside/qobjectconnect.cpp +++ b/sources/pyside6/libpyside/qobjectconnect.cpp @@ -10,6 +10,7 @@ #include "signalmanager.h" #include <sbkstring.h> +#include <sbkpep.h> #include <sbkstaticstrings.h> #include "basewrapper.h" #include "autodecref.h" diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp index cd26c79ea..ed7067a2e 100644 --- a/sources/pyside6/libpyside/signalmanager.cpp +++ b/sources/pyside6/libpyside/signalmanager.cpp @@ -15,6 +15,7 @@ #include <bindingmanager.h> #include <gilstate.h> #include <sbkconverter.h> +#include <sbkpep.h> #include <sbkstring.h> #include <sbkstaticstrings.h> #include <sbkerrors.h> |
