[neon/qt/pyside2/Neon/release] /: New upstream version 5.15.14

Dmitry Shachnev null at kde.org
Thu Jul 25 03:06:04 BST 2024


Git commit bdf6ae2d50ce3ed9460917e69caa35c81ce6c959 by Dmitry Shachnev.
Committed on 06/06/2024 at 16:33.
Pushed by carlosdem into branch 'Neon/release'.

New upstream version 5.15.14

M  +1    -1    coin/dependencies.yaml
M  +1    -1    coin/module_config.yaml
A  +20   -0    dist/changes-5.15.14
M  +2    -2    sources/pyside2/PySide2/glue/qtcore.cpp
M  +1    -1    sources/pyside2/pyside_version.py
M  +2    -0    sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
M  +3    -1    sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp
M  +100  -1    sources/shiboken2/ApiExtractor/parser/codemodel.cpp
M  +37   -55   sources/shiboken2/ApiExtractor/parser/codemodel.h
M  +1    -0    sources/shiboken2/ApiExtractor/tests/testtemplates.cpp
M  +1    -1    sources/shiboken2/libshiboken/pep384_issue33738.cpp
M  +4    -7    sources/shiboken2/libshiboken/pep384impl.h
M  +1    -1    sources/shiboken2/shiboken_version.py

https://invent.kde.org/neon/qt/pyside2/-/commit/bdf6ae2d50ce3ed9460917e69caa35c81ce6c959

diff --git a/coin/dependencies.yaml b/coin/dependencies.yaml
index ba070d4b..a3a77d23 100644
--- a/coin/dependencies.yaml
+++ b/coin/dependencies.yaml
@@ -1,6 +1,6 @@
 product_dependency:
   ../../qt/tqtc-qt5.git:
-    ref: "6949d6a6915445ea30cd36fc64d843a8fb53bafe"
+    ref: "f25f24469c9053b2d1c5ea7ff1e7f0799c2a8048"
 dependency_source: supermodule
 dependencies: [
       "../../qt/qt3d",
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
index ce6b58a7..82657f0a 100644
--- a/coin/module_config.yaml
+++ b/coin/module_config.yaml
@@ -18,7 +18,7 @@ accept_configuration:
             not_contains_value: -no-gui
           - condition: property   # Following configs are not supported
             property: target.osVersion
-            not_in_values: [openSUSE_15_1, OPENSUSE_13_01, QEMU, WebAssembly, Ubuntu_18_04, SLES_12, SLES_15, MacOS_10_15, MacOS_11_00, Windows_11_21H2]
+            not_in_values: [openSUSE_15_1, OPENSUSE_13_01, QEMU, WebAssembly, Ubuntu_18_04, SLES_12, SLES_15, SLES_15_SP4, MacOS_10_15, MacOS_11_00, Windows_11_21H2]
           - condition: property  # MibnGW and msvc2015 are not supported
             property: target.compiler
             not_in_values: [Mingw, MSVC2015]
diff --git a/dist/changes-5.15.14 b/dist/changes-5.15.14
new file mode 100644
index 00000000..bd1b4c45
--- /dev/null
+++ b/dist/changes-5.15.14
@@ -0,0 +1,20 @@
+Qt for Python 5.15.14 is a bug-fix release.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qtforpython/
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+*                                  PySide2                                 *
+****************************************************************************
+
+ - [PYSIDE-1797] Limited_API: The check for PyIndex_Check has been fixed.
diff --git a/sources/pyside2/PySide2/glue/qtcore.cpp b/sources/pyside2/PySide2/glue/qtcore.cpp
index 0fb55372..8a9aae8f 100644
--- a/sources/pyside2/PySide2/glue/qtcore.cpp
+++ b/sources/pyside2/PySide2/glue/qtcore.cpp
@@ -918,7 +918,7 @@ if (ret > 0 && ((strcmp(%1, SIGNAL(destroyed())) == 0) || (strcmp(%1, SIGNAL(des
 // @snippet qregexp-replace
 
 // @snippet qbytearray-mgetitem
-if (PepIndex_Check(_key)) {
+if (PyIndex_Check(_key)) {
     Py_ssize_t _i;
     _i = PyNumber_AsSsize_t(_key, PyExc_IndexError);
     if (_i < 0 || _i >= %CPPSELF.size()) {
@@ -969,7 +969,7 @@ if (PepIndex_Check(_key)) {
 // @snippet qbytearray-mgetitem
 
 // @snippet qbytearray-msetitem
-if (PepIndex_Check(_key)) {
+if (PyIndex_Check(_key)) {
     Py_ssize_t _i = PyNumber_AsSsize_t(_key, PyExc_IndexError);
     if (_i == -1 && PyErr_Occurred())
         return -1;
diff --git a/sources/pyside2/pyside_version.py b/sources/pyside2/pyside_version.py
index ca635a72..4c4e3bba 100644
--- a/sources/pyside2/pyside_version.py
+++ b/sources/pyside2/pyside_version.py
@@ -39,7 +39,7 @@
 
 major_version = "5"
 minor_version = "15"
-patch_version = "13"
+patch_version = "14"
 
 # For example: "a", "b", "rc"
 # (which means "alpha", "beta", "release candidate").
diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
index ebe3b995..e8e5bcfd 100644
--- a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
+++ b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
@@ -895,6 +895,8 @@ static NamespaceType namespaceType(const CXCursor &cursor)
 static QString enumType(const CXCursor &cursor)
 {
     QString name = getCursorSpelling(cursor); // "enum Foo { v1, v2 };"
+    if (name.contains(u"unnamed enum")) // Clang 16.0
+        return {};
     if (name.isEmpty()) {
         // PYSIDE-1228: For "typedef enum { v1, v2 } Foo;", type will return
         // "Foo" as expected. Care must be taken to exclude real anonymous enums.
diff --git a/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp b/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp
index 02b4614a..add278a1 100644
--- a/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp
+++ b/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp
@@ -28,6 +28,7 @@
 
 #include "compilersupport.h"
 #include "header_paths.h"
+#include "clangutils.h"
 
 #include <reporthandler.h>
 
@@ -313,7 +314,8 @@ static void appendClangBuiltinIncludes(HeaderPaths *p)
                   "(neither by checking the environment variables LLVM_INSTALL_DIR, CLANG_INSTALL_DIR "
                   " nor running llvm-config). This may lead to parse errors.");
     } else {
-        qCInfo(lcShiboken, "CLANG builtins includes directory: %s",
+        qCInfo(lcShiboken, "CLANG v%d.%d, builtins includes directory: %s",
+               CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR,
                qPrintable(clangBuiltinIncludesDir));
         p->append(HeaderPath{QFile::encodeName(clangBuiltinIncludesDir),
                              HeaderType::System});
diff --git a/sources/shiboken2/ApiExtractor/parser/codemodel.cpp b/sources/shiboken2/ApiExtractor/parser/codemodel.cpp
index 9995fc71..dea08128 100644
--- a/sources/shiboken2/ApiExtractor/parser/codemodel.cpp
+++ b/sources/shiboken2/ApiExtractor/parser/codemodel.cpp
@@ -614,6 +614,16 @@ SourceLocation _CodeModelItem::sourceLocation() const
     return SourceLocation(m_fileName, m_startLine);
 }
 
+_ScopeModelItem::_ScopeModelItem(CodeModel *model, int kind)
+    : _CodeModelItem(model, kind)
+{
+}
+
+_ScopeModelItem::_ScopeModelItem(CodeModel *model, const QString &name, int kind)
+    : _CodeModelItem(model, name, kind)
+{
+}
+
 #ifndef QT_NO_DEBUG_STREAM
 template <class It>
 static void formatPtrSequence(QDebug &d, It i1, It i2, const char *separator=", ")
@@ -742,6 +752,16 @@ bool _ClassModelItem::extendsClass(const QString &name) const
     return false;
 }
 
+_ClassModelItem::_ClassModelItem(CodeModel *model, int kind)
+    : _ScopeModelItem(model, kind)
+{
+}
+
+_ClassModelItem::_ClassModelItem(CodeModel *model, const QString &name, int kind)
+    : _ScopeModelItem(model, name, kind)
+{
+}
+
 void _ClassModelItem::setClassType(CodeModel::ClassType type)
 {
     m_classType = type;
@@ -1018,10 +1038,18 @@ FunctionList _ScopeModelItem::findFunctions(const QString &name) const
 }
 
 // ---------------------------------------------------------------------------
-_NamespaceModelItem::~_NamespaceModelItem()
+_NamespaceModelItem::_NamespaceModelItem(CodeModel *model, int kind)
+    : _ScopeModelItem(model, kind)
+{
+}
+
+_NamespaceModelItem::_NamespaceModelItem(CodeModel *model, const QString &name, int kind)
+    : _ScopeModelItem(model, name, kind)
 {
 }
 
+_NamespaceModelItem::~_NamespaceModelItem() = default;
+
 void _NamespaceModelItem::addNamespace(NamespaceModelItem item)
 {
     m_namespaces.append(item);
@@ -1059,6 +1087,16 @@ void _NamespaceModelItem::formatDebug(QDebug &d) const
 #endif // !QT_NO_DEBUG_STREAM
 
 // ---------------------------------------------------------------------------
+_ArgumentModelItem::_ArgumentModelItem(CodeModel *model, int kind)
+    : _CodeModelItem(model, kind)
+{
+}
+
+_ArgumentModelItem::_ArgumentModelItem(CodeModel *model, const QString &name, int kind)
+    : _CodeModelItem(model, name, kind)
+{
+}
+
 _ArgumentModelItem::~_ArgumentModelItem()
 {
 }
@@ -1122,6 +1160,16 @@ bool _FunctionModelItem::isSimilar(const FunctionModelItem &other) const
     return true;
 }
 
+_FunctionModelItem::_FunctionModelItem(CodeModel *model, int kind)
+    : _MemberModelItem(model, kind), m_flags(0)
+{
+}
+
+_FunctionModelItem::_FunctionModelItem(CodeModel *model, const QString &name, int kind)
+    : _MemberModelItem(model, name, kind), m_flags(0)
+{
+}
+
 ArgumentList _FunctionModelItem::arguments() const
 {
     return m_arguments;
@@ -1302,6 +1350,16 @@ void _FunctionModelItem::formatDebug(QDebug &d) const
 #endif // !QT_NO_DEBUG_STREAM
 
 // ---------------------------------------------------------------------------
+_TypeDefModelItem::_TypeDefModelItem(CodeModel *model, int kind)
+    : _CodeModelItem(model, kind)
+{
+}
+
+_TypeDefModelItem::_TypeDefModelItem(CodeModel *model, const QString &name, int kind)
+    : _CodeModelItem(model, name, kind)
+{
+}
+
 TypeInfo _TypeDefModelItem::type() const
 {
     return m_type;
@@ -1363,6 +1421,16 @@ void _TemplateTypeAliasModelItem::formatDebug(QDebug &d) const
 #endif // !QT_NO_DEBUG_STREAM
 
 // ---------------------------------------------------------------------------
+_EnumModelItem::_EnumModelItem(CodeModel *model, const QString &name, int kind)
+    : _CodeModelItem(model, name, kind)
+{
+}
+
+_EnumModelItem::_EnumModelItem(CodeModel *model, int kind)
+    : _CodeModelItem(model, kind)
+{
+}
+
 CodeModel::AccessPolicy _EnumModelItem::accessPolicy() const
 {
     return m_accessPolicy;
@@ -1418,6 +1486,16 @@ void _EnumModelItem::formatDebug(QDebug &d) const
 // ---------------------------------------------------------------------------
 _EnumeratorModelItem::~_EnumeratorModelItem() = default;
 
+_EnumeratorModelItem::_EnumeratorModelItem(CodeModel *model, int kind)
+    : _CodeModelItem(model, kind)
+{
+}
+
+_EnumeratorModelItem::_EnumeratorModelItem(CodeModel *model, const QString &name, int kind)
+    : _CodeModelItem(model, name, kind)
+{
+}
+
 QString _EnumeratorModelItem::stringValue() const
 {
     return m_stringValue;
@@ -1439,6 +1517,17 @@ void _EnumeratorModelItem::formatDebug(QDebug &d) const
 // ---------------------------------------------------------------------------
 _TemplateParameterModelItem::~_TemplateParameterModelItem() = default;
 
+_TemplateParameterModelItem::_TemplateParameterModelItem(CodeModel *model, int kind)
+    : _CodeModelItem(model, kind)
+{
+}
+
+_TemplateParameterModelItem::_TemplateParameterModelItem(CodeModel *model,
+                                                         const QString &name, int kind)
+    : _CodeModelItem(model, name, kind)
+{
+}
+
 TypeInfo _TemplateParameterModelItem::type() const
 {
     return m_type;
@@ -1502,6 +1591,16 @@ void _MemberModelItem::setStatic(bool isStatic)
     m_isStatic = isStatic;
 }
 
+_MemberModelItem::_MemberModelItem(CodeModel *model, int kind)
+    : _CodeModelItem(model, kind), m_flags(0)
+{
+}
+
+_MemberModelItem::_MemberModelItem(CodeModel *model, const QString &name, int kind)
+    : _CodeModelItem(model, name, kind), m_flags(0)
+{
+}
+
 bool _MemberModelItem::isConstant() const
 {
     return m_isConstant;
diff --git a/sources/shiboken2/ApiExtractor/parser/codemodel.h b/sources/shiboken2/ApiExtractor/parser/codemodel.h
index 13bc7cf3..b990ad91 100644
--- a/sources/shiboken2/ApiExtractor/parser/codemodel.h
+++ b/sources/shiboken2/ApiExtractor/parser/codemodel.h
@@ -368,10 +368,9 @@ public:
 #endif
 
 protected:
-    explicit _ScopeModelItem(CodeModel *model, int kind = __node_kind)
-        : _CodeModelItem(model, kind) {}
-    explicit _ScopeModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _CodeModelItem(model, name, kind) {}
+    explicit _ScopeModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _ScopeModelItem(CodeModel *model, const QString &name,
+                             int kind = __node_kind);
 
     void appendScope(const _ScopeModelItem &other);
 
@@ -402,10 +401,9 @@ public:
         CodeModel::AccessPolicy accessPolicy = CodeModel::Public;
     };
 
-    explicit _ClassModelItem(CodeModel *model, int kind = __node_kind)
-        : _ScopeModelItem(model, kind), m_classType(CodeModel::Class) {}
-    explicit _ClassModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _ScopeModelItem(model, name, kind), m_classType(CodeModel::Class) {}
+    explicit _ClassModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _ClassModelItem(CodeModel *model, const QString &name,
+                             int kind = __node_kind);
     ~_ClassModelItem();
 
     QVector<BaseClass> baseClasses() const { return m_baseClasses; }
@@ -436,7 +434,7 @@ public:
 private:
     QVector<BaseClass> m_baseClasses;
     TemplateParameterList m_templateParameters;
-    CodeModel::ClassType m_classType;
+    CodeModel::ClassType m_classType = CodeModel::Class;
 
     QStringList m_propertyDeclarations;
     bool m_final = false;
@@ -447,10 +445,9 @@ class _NamespaceModelItem: public _ScopeModelItem
 public:
     DECLARE_MODEL_NODE(Namespace)
 
-    explicit _NamespaceModelItem(CodeModel *model, int kind = __node_kind)
-        : _ScopeModelItem(model, kind) {}
-    explicit _NamespaceModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _ScopeModelItem(model, name, kind) {}
+    explicit _NamespaceModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _NamespaceModelItem(CodeModel *model, const QString &name,
+                                 int kind = __node_kind);
     ~_NamespaceModelItem();
 
     const NamespaceList &namespaces() const { return m_namespaces; }
@@ -478,10 +475,8 @@ class _FileModelItem: public _NamespaceModelItem
 public:
     DECLARE_MODEL_NODE(File)
 
-    explicit _FileModelItem(CodeModel *model, int kind = __node_kind)
-        : _NamespaceModelItem(model, kind) {}
-    explicit _FileModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _NamespaceModelItem(model, name, kind) {}
+    using _NamespaceModelItem::_NamespaceModelItem;
+
     ~_FileModelItem();
 };
 
@@ -490,10 +485,9 @@ class _ArgumentModelItem: public _CodeModelItem
 public:
     DECLARE_MODEL_NODE(Argument)
 
-    explicit _ArgumentModelItem(CodeModel *model, int kind = __node_kind)
-        : _CodeModelItem(model, kind), m_defaultValue(false) {}
-    explicit _ArgumentModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _CodeModelItem(model, name, kind), m_defaultValue(false) {}
+    explicit _ArgumentModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _ArgumentModelItem(CodeModel *model, const QString &name,
+                                int kind = __node_kind);
     ~_ArgumentModelItem();
 
     TypeInfo type() const;
@@ -512,7 +506,7 @@ public:
 private:
     TypeInfo m_type;
     QString m_defaultValueExpression;
-    bool m_defaultValue;
+    bool m_defaultValue = false;
 };
 
 class _MemberModelItem: public _CodeModelItem
@@ -520,10 +514,9 @@ class _MemberModelItem: public _CodeModelItem
 public:
     DECLARE_MODEL_NODE(Member)
 
-    explicit _MemberModelItem(CodeModel *model, int kind = __node_kind)
-        : _CodeModelItem(model, kind), m_accessPolicy(CodeModel::Public), m_flags(0) {}
-    explicit _MemberModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _CodeModelItem(model, name, kind), m_accessPolicy(CodeModel::Public), m_flags(0) {}
+    explicit _MemberModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _MemberModelItem(CodeModel *model, const QString &name,
+                              int kind = __node_kind);
     ~_MemberModelItem();
 
     bool isConstant() const;
@@ -566,7 +559,7 @@ public:
 private:
     TemplateParameterList m_templateParameters;
     TypeInfo m_type;
-    CodeModel::AccessPolicy m_accessPolicy;
+    CodeModel::AccessPolicy m_accessPolicy = CodeModel::AccessPolicy::Public;
     union {
         struct {
             uint m_isConstant: 1;
@@ -588,10 +581,9 @@ class _FunctionModelItem: public _MemberModelItem
 public:
     DECLARE_MODEL_NODE(Function)
 
-    explicit _FunctionModelItem(CodeModel *model, int kind = __node_kind)
-        : _MemberModelItem(model, kind), m_functionType(CodeModel::Normal), m_flags(0) {}
-    explicit _FunctionModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _MemberModelItem(model, name, kind), m_functionType(CodeModel::Normal), m_flags(0) {}
+    explicit _FunctionModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _FunctionModelItem(CodeModel *model, const QString &name,
+                                int kind = __node_kind);
     ~_FunctionModelItem();
 
     ArgumentList arguments() const;
@@ -647,7 +639,7 @@ public:
 
 private:
     ArgumentList m_arguments;
-    CodeModel::FunctionType m_functionType;
+    CodeModel::FunctionType m_functionType = CodeModel::Normal;
     union {
         struct {
             uint m_isDeleted: 1;
@@ -671,10 +663,7 @@ class _VariableModelItem: public _MemberModelItem
 public:
     DECLARE_MODEL_NODE(Variable)
 
-    explicit _VariableModelItem(CodeModel *model, int kind = __node_kind)
-        : _MemberModelItem(model, kind) {}
-    explicit _VariableModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _MemberModelItem(model, name, kind) {}
+    using _MemberModelItem::_MemberModelItem;
 };
 
 class _TypeDefModelItem: public _CodeModelItem
@@ -682,10 +671,9 @@ class _TypeDefModelItem: public _CodeModelItem
 public:
     DECLARE_MODEL_NODE(TypeDef)
 
-    explicit _TypeDefModelItem(CodeModel *model, int kind = __node_kind)
-        : _CodeModelItem(model, kind) {}
-    explicit _TypeDefModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _CodeModelItem(model, name, kind) {}
+    explicit _TypeDefModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _TypeDefModelItem(CodeModel *model, const QString &name,
+                               int kind = __node_kind);
 
     TypeInfo type() const;
     void setType(const TypeInfo &type);
@@ -727,10 +715,8 @@ class _EnumModelItem: public _CodeModelItem
 public:
     DECLARE_MODEL_NODE(Enum)
 
-    explicit _EnumModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _CodeModelItem(model, name, kind) {}
-    explicit _EnumModelItem(CodeModel *model, int kind = __node_kind)
-        : _CodeModelItem(model, kind) {}
+    explicit _EnumModelItem(CodeModel *model, const QString &name, int kind = __node_kind);
+    explicit _EnumModelItem(CodeModel *model, int kind = __node_kind);
     ~_EnumModelItem();
 
     CodeModel::AccessPolicy accessPolicy() const;
@@ -762,10 +748,9 @@ class _EnumeratorModelItem: public _CodeModelItem
 public:
     DECLARE_MODEL_NODE(Enumerator)
 
-    explicit _EnumeratorModelItem(CodeModel *model, int kind = __node_kind)
-        : _CodeModelItem(model, kind) {}
-    explicit _EnumeratorModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _CodeModelItem(model, name, kind) {}
+    explicit _EnumeratorModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _EnumeratorModelItem(CodeModel *model, const QString &name,
+                                  int kind = __node_kind);
     ~_EnumeratorModelItem();
 
     QString stringValue() const;
@@ -788,10 +773,9 @@ class _TemplateParameterModelItem: public _CodeModelItem
 public:
     DECLARE_MODEL_NODE(TemplateParameter)
 
-    explicit _TemplateParameterModelItem(CodeModel *model, int kind = __node_kind)
-        : _CodeModelItem(model, kind), m_defaultValue(false) {}
-    explicit _TemplateParameterModelItem(CodeModel *model, const QString &name, int kind = __node_kind)
-        : _CodeModelItem(model, name, kind), m_defaultValue(false) {}
+    explicit _TemplateParameterModelItem(CodeModel *model, int kind = __node_kind);
+    explicit _TemplateParameterModelItem(CodeModel *model, const QString &name,
+                                         int kind = __node_kind);
     ~_TemplateParameterModelItem();
 
     TypeInfo type() const;
@@ -806,9 +790,7 @@ public:
 
 private:
     TypeInfo m_type;
-    bool m_defaultValue;
+    bool m_defaultValue = false;
 };
 
 #endif // CODEMODEL_H
-
-// kate: space-indent on; indent-width 2; replace-tabs on;
diff --git a/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp b/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp
index f6c70a65..9f929c43 100644
--- a/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp
+++ b/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp
@@ -641,6 +641,7 @@ public:
     auto derived = AbstractMetaClass::findClass(classes, QLatin1String("Derived"));
     QVERIFY(derived);
     auto base = derived->templateBaseClass();
+    QVERIFY(base);
     QCOMPARE(base->name(), QLatin1String("Container1"));
 }
 
diff --git a/sources/shiboken2/libshiboken/pep384_issue33738.cpp b/sources/shiboken2/libshiboken/pep384_issue33738.cpp
index aff91e8e..59713f2f 100644
--- a/sources/shiboken2/libshiboken/pep384_issue33738.cpp
+++ b/sources/shiboken2/libshiboken/pep384_issue33738.cpp
@@ -142,7 +142,7 @@ static bool is_compatible_version()
 // There is an automatic warning about this in parser.py .
 //
 
-LIBSHIBOKEN_API int PepIndex_Check(PyObject *obj)
+LIBSHIBOKEN_API int PyIndex_Check(PyObject *obj)
 {
     static bool old_python_version = is_compatible_version();
     if (old_python_version) {
diff --git a/sources/shiboken2/libshiboken/pep384impl.h b/sources/shiboken2/libshiboken/pep384impl.h
index b348943a..a870d6b2 100644
--- a/sources/shiboken2/libshiboken/pep384impl.h
+++ b/sources/shiboken2/libshiboken/pep384impl.h
@@ -144,13 +144,10 @@ typedef struct _typeobject {
 
 // PYSIDE-1797: This must be a runtime decision.
 //              Remove that when the minimum Python version is 3.8,
-//              because the macro PepIndex_Check bug was fixed then.
-/// FIXME: Remove PepIndex_Check and pep384_issue33738.cpp when Python 3.7 is gone.
-LIBSHIBOKEN_API int PepIndex_Check(PyObject *obj);
-
-#else // Py_LIMITED_API
-
-#define PepIndex_Check(obj)               PyIndex_Check(obj)
+//              because the macro PyIndex_Check bug was fixed then.
+/// FIXME: Remove PyIndex_Check and pep384_issue33738.cpp when Python 3.7 is gone.
+#undef PyIndex_Check
+LIBSHIBOKEN_API int PyIndex_Check(PyObject *obj);
 
 #endif // Py_LIMITED_API
 
diff --git a/sources/shiboken2/shiboken_version.py b/sources/shiboken2/shiboken_version.py
index ca635a72..4c4e3bba 100644
--- a/sources/shiboken2/shiboken_version.py
+++ b/sources/shiboken2/shiboken_version.py
@@ -39,7 +39,7 @@
 
 major_version = "5"
 minor_version = "15"
-patch_version = "13"
+patch_version = "14"
 
 # For example: "a", "b", "rc"
 # (which means "alpha", "beta", "release candidate").



More information about the Neon-commits mailing list