Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/changelogs/changes-6.9.156
-rw-r--r--sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml5
-rw-r--r--sources/pyside6/libpyside/signalmanager.cpp12
-rw-r--r--sources/pyside6/libpyside/signalmanager.h4
-rw-r--r--sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/layout.py8
5 files changed, 82 insertions, 3 deletions
diff --git a/doc/changelogs/changes-6.9.1 b/doc/changelogs/changes-6.9.1
new file mode 100644
index 000000000..22849e62c
--- /dev/null
+++ b/doc/changelogs/changes-6.9.1
@@ -0,0 +1,56 @@
+Qt for Python 6.9.1 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.
+
+****************************************************************************
+* PySide6 *
+****************************************************************************
+
+ - [PYSIDE-3052] class QMessageLogger has been added for handling debug,
+ info, warning, critical, and fatal messages,
+ including support for QLoggingCategory.
+ - [PYSIDE-3012] type hints: The type signature for the Property class
+ has been fixed.
+ - [PYSIDE-3021] type-hints: The QMessagebox annotations has been fixed.
+ - [PYSIDE-3029] type-hints: The hints for properties on __init__ functions
+ has been fixed.
+ - [PYSIDE-3050] type hints: Type signature for
+ QProgressDialog.setCancelButton has been fixed.
+ - [PYSIDE-3055] type hints: Type signature for QTabBar.setTabButton has
+ been fixed.
+ - [PYSIDE-3056] type hints: Type signature for qtTrId has been fixed.
+ - [PYSIDE-3057] type hints: Type signature for QTreeWidget.setItemWidget
+ has been fixed.
+ - [PYSIDE-3058] type hints: Return value for QTreeWidget.topLevelItem and
+ QTreeWidget.takeTopLevelItem has been fixed.
+ - [PYSIDE-3059] type hints: The type signature for QObject class has been
+ fixed.
+ - [PYSIDE-3061] The building of .pyi files in debug mode on Windows has
+ been fixed.
+ - [PYSIDE-3067] A crash when entering a Qt message handler with a Python
+ error set has been fixed.
+ - [PYSIDE-3069] A crash retrieving a QGraphicsProxyObject from a QVariant
+ has been fixed.
+ - [PYSIDE-3087] The dependency of pyside6-project on tomlkit has been
+ removed.
+ - [PYSIDE-3089] An error in pyside6-metaobjectdump when encountering
+ @Slot(result=None) has been fixed.
+
+****************************************************************************
+* Shiboken6 *
+****************************************************************************
+
+ - [PYSIDE-3081] A bug in the clang parser causing errors when parsing a
+ lambda contained in a function parameter default value has
+ been fixed.
diff --git a/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml b/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml
index a15527c03..c6e93cfd7 100644
--- a/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml
+++ b/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml
@@ -1489,6 +1489,7 @@
<enum-type name="InputMode"/>
<modify-function signature="getInt(QWidget*,const QString&amp;,const QString&amp;,int,int,int,int,bool*,QFlags&lt;Qt::WindowType&gt;)" allow-thread="yes">
+ <modify-argument index="1" pyi-type="Optional[PySide6.QtWidgets.QWidget]"/>
<modify-argument index="return" pyi-type="Tuple[int, bool]"/>
<modify-argument index="8">
<remove-default-expression/>
@@ -1500,6 +1501,7 @@
</modify-function>
<modify-function signature="getItem(QWidget*,const QString&amp;,const QString&amp;,const QStringList&amp;,int,bool,bool*,QFlags&lt;Qt::WindowType&gt;,QFlags&lt;Qt::InputMethodHint&gt;)" allow-thread="yes">
+ <modify-argument index="1" pyi-type="Optional[PySide6.QtWidgets.QWidget]"/>
<modify-argument index="return" pyi-type="Tuple[str, bool]"/>
<modify-argument index="7">
<remove-default-expression/>
@@ -1511,6 +1513,7 @@
</modify-function>
<modify-function signature="getMultiLineText(QWidget*,const QString&amp;,const QString&amp;,const QString&amp;,bool*,QFlags&lt;Qt::WindowType&gt;,QFlags&lt;Qt::InputMethodHint&gt;)" allow-thread="yes">
+ <modify-argument index="1" pyi-type="Optional[PySide6.QtWidgets.QWidget]"/>
<modify-argument index="return" pyi-type="Tuple[str, bool]"/>
<modify-argument index="5">
<remove-default-expression/>
@@ -1522,6 +1525,7 @@
</modify-function>
<modify-function signature="getText(QWidget*,const QString&amp;,const QString&amp;,QLineEdit::EchoMode,const QString&amp;,bool*,QFlags&lt;Qt::WindowType&gt;,QFlags&lt;Qt::InputMethodHint&gt;)" allow-thread="yes">
+ <modify-argument index="1" pyi-type="Optional[PySide6.QtWidgets.QWidget]"/>
<modify-argument index="return" pyi-type="Tuple[str, bool]"/>
<modify-argument index="6">
<remove-default-expression/>
@@ -1533,6 +1537,7 @@
</modify-function>
<modify-function signature="getDouble(QWidget*,const QString&amp;,const QString&amp;,double,double,double,int,bool*,QFlags&lt;Qt::WindowType&gt;,double)" allow-thread="yes">
+ <modify-argument index="1" pyi-type="Optional[PySide6.QtWidgets.QWidget]"/>
<modify-argument index="return" pyi-type="Tuple[float, bool]"/>
<modify-argument index="8">
<remove-default-expression/>
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index 933edd318..e5f069c86 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -27,6 +27,7 @@
#include <QtCore/qscopedpointer.h>
#include <memory>
+#include <utility>
using namespace Qt::StringLiterals;
@@ -125,6 +126,17 @@ PyObjectWrapper::PyObjectWrapper(const PyObjectWrapper &other)
Py_XINCREF(m_me);
}
+PyObjectWrapper::PyObjectWrapper(PyObjectWrapper &&other) noexcept
+ : m_me{std::exchange(other.m_me, nullptr)}
+{
+}
+
+PyObjectWrapper &PyObjectWrapper::operator=(PyObjectWrapper &&other) noexcept
+{
+ m_me = std::exchange(other.m_me, nullptr);
+ return *this;
+}
+
PyObjectWrapper::~PyObjectWrapper()
{
// Check that Python is still initialized as sometimes this is called by a static destructor
diff --git a/sources/pyside6/libpyside/signalmanager.h b/sources/pyside6/libpyside/signalmanager.h
index d5c007dbe..52bb5f1d1 100644
--- a/sources/pyside6/libpyside/signalmanager.h
+++ b/sources/pyside6/libpyside/signalmanager.h
@@ -22,13 +22,13 @@ namespace PySide
class PYSIDE_API PyObjectWrapper
{
public:
- PyObjectWrapper(PyObjectWrapper&&) = delete;
- PyObjectWrapper& operator=(PyObjectWrapper &&) = delete;
PyObjectWrapper();
explicit PyObjectWrapper(PyObject* me);
PyObjectWrapper(const PyObjectWrapper &other);
PyObjectWrapper& operator=(const PyObjectWrapper &other);
+ PyObjectWrapper(PyObjectWrapper&&) noexcept;
+ PyObjectWrapper &operator=(PyObjectWrapper &&) noexcept;
void reset(PyObject *o);
diff --git a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/layout.py b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/layout.py
index 3f83b0816..109562a98 100644
--- a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/layout.py
+++ b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/layout.py
@@ -30,6 +30,7 @@ from textwrap import dedent
from shibokensupport.signature.mapping import ellipsis, missing_optional_return, PlaceholderType
from shibokensupport.signature.parser import using_snake_case
from shibokensupport.signature import make_snake_case_name
+from collections.abc import Sequence, Iterable
DEFAULT_PARAM_KIND = inspect.Parameter.POSITIONAL_ONLY
@@ -134,9 +135,14 @@ _KEYWORD_ONLY = inspect.Parameter.KEYWORD_ONLY # noqa E:201
_VAR_KEYWORD = inspect.Parameter.VAR_KEYWORD # noqa E:201
_empty = inspect.Parameter.empty # noqa E:201
-
+# PYSIDE-3098: Iterable and Sequence can occur together in an overload.
+# This needs sorting in order of generality.
+# This happened in the NumPy support of PySide 6.10. Note that the ordering
+# of methods there is completely different and unrelated to this mypy sorting.
default_weights = {
typing.Any: 1000, # noqa E:241
+ Iterable: 500, # noqa E:241
+ Sequence: 400, # noqa E:241
bool: 101, # noqa E:241
int: 102, # noqa E:241
float: 103, # noqa E:241