aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2021-04-06 22:16:57 +0200
committerCristian Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2021-05-06 12:41:07 +0200
commita549f1ad6b727b80c48d87135c664866e15e8c57 (patch)
treee30bd24ffee105ff5d48d687b975172091aa034c
parentc13f363128e7843c0611a8963e4632c9701cc6fd (diff)
Enable the exec() functions
With Qt6, PySide dropped support for Python 2.7, thus it does not make sense to keep our exec_() renaming inplace. This patch will enable the exec() functions, and adds a deprecation note for exec_(), which will enable us to safely remove it in the future. Change-Id: I7375e10632e7ab534ca264304a5a65f380b9b1bb Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 62acb997f7fce1ae922e3a9995272c78353048b9) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--sources/pyside6/PySide6/QtCore/typesystem_core_common.xml20
-rw-r--r--sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml15
-rw-r--r--sources/pyside6/PySide6/QtPrintSupport/typesystem_printsupport_common.xml10
-rw-r--r--sources/pyside6/PySide6/QtSql/typesystem_sql.xml22
-rw-r--r--sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml29
-rw-r--r--sources/pyside6/PySide6/glue/qtcore.cpp73
-rw-r--r--sources/pyside6/PySide6/glue/qtgui.cpp45
-rw-r--r--sources/pyside6/PySide6/glue/qtprintsupport.cpp13
-rw-r--r--sources/pyside6/PySide6/glue/qtsql.cpp96
-rw-r--r--sources/pyside6/PySide6/glue/qtwidgets.cpp52
10 files changed, 355 insertions, 20 deletions
diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
index 510330ffc..55dfb76b2 100644
--- a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
+++ b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
@@ -1454,7 +1454,10 @@
<inject-code file="../glue/qtcore.cpp" class="native" position="end"
snippet="qthread_pthread_cleanup_uninstall"/>
</modify-function>
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="int">
+ <inject-code file="../glue/qtcore.cpp" snippet="qthread_exec_"/>
+ </add-function>
<modify-function signature="msleep(unsigned long)" allow-thread="yes"/>
<modify-function signature="sleep(unsigned long)" allow-thread="yes"/>
<modify-function signature="usleep(unsigned long)" allow-thread="yes"/>
@@ -2085,7 +2088,10 @@
<object-type name="QEventLoop">
<enum-type name="ProcessEventsFlag" flags="ProcessEventsFlags"/>
- <modify-function signature="exec(QFlags&lt;QEventLoop::ProcessEventsFlag>)" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec(QFlags&lt;QEventLoop::ProcessEventsFlag>)" allow-thread="yes"/>
+ <add-function signature="exec_(QFlags&lt;QEventLoop::ProcessEventsFlag> @flags@ = QEventLoop::AllEvents)" return-type="int">
+ <inject-code file="../glue/qtcore.cpp" snippet="exec_arg1"/>
+ </add-function>
<modify-function signature="processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag>)" allow-thread="yes"/>
<modify-function signature="processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag>,int)" allow-thread="yes"/>
</object-type>
@@ -2408,7 +2414,10 @@
<inject-code class="target" file="../glue/qtcore.cpp" snippet="qcoreapplication-instance"/>
</modify-function>
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="int">
+ <inject-code file="../glue/qtcore.cpp" snippet="exec_"/>
+ </add-function>
<modify-function signature="notify(QObject*,QEvent*)" allow-thread="yes">
<modify-argument index="2" invalidate-after-use="yes"/>
</modify-function>
@@ -2628,7 +2637,10 @@
</object-type>
<value-type name="QTextStreamManipulator" default-constructor="QTextStreamManipulator(0, 0)">
- <modify-function signature="exec(QTextStream &amp;)" rename="exec_"/>
+ <!-- Since exec() here doesn't need an allow-threads, we don't modify the original -->
+ <add-function signature="exec_(QTextStream &amp;)">
+ <inject-code file="../glue/qtcore.cpp" snippet="qtextstreammanipulator-exec"/>
+ </add-function>
</value-type>
<object-type name="QTextStream" stream="yes">
<enum-type name="FieldAlignment"/>
diff --git a/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml b/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml
index 117476f23..66d7780ba 100644
--- a/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml
+++ b/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml
@@ -1504,8 +1504,14 @@
<parent index="this" action="add"/>
</modify-argument>
</modify-function>
- <modify-function signature="exec(QFlags&lt;Qt::DropAction&gt;)" rename="exec_" allow-thread="yes"/>
- <modify-function signature="exec(QFlags&lt;Qt::DropAction&gt;,Qt::DropAction)" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec(QFlags&lt;Qt::DropAction&gt;)" allow-thread="yes"/>
+ <add-function signature="exec_(QFlags&lt;Qt::DropAction&gt; @supportedActions@ = Qt::MoveAction)" return-type="Qt::DropAction">
+ <inject-code file="../glue/qtgui.cpp" snippet="qdrag-exec-arg1"/>
+ </add-function>
+ <modify-function signature="exec(QFlags&lt;Qt::DropAction&gt;,Qt::DropAction)" allow-thread="yes"/>
+ <add-function signature="exec_(QFlags&lt;Qt::DropAction&gt;,Qt::DropAction)" return-type="Qt::DropAction">
+ <inject-code file="../glue/qtgui.cpp" snippet="qdrag-exec-arg2"/>
+ </add-function>
</object-type>
<object-type name="QStandardItemModel" polymorphic-id-expression="qobject_cast&lt;QStandardItemModel*&gt;(%1)">
@@ -2491,7 +2497,10 @@
<inject-code file="../glue/qtgui.cpp" snippet="qguiapplication-2"/>
</add-function>
<inject-code class="native" position="beginning" file="../glue/qtgui.cpp" snippet="qguiapplication-init"/>
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="int">
+ <inject-code file="../glue/qtgui.cpp" snippet="qguiapplication-exec"/>
+ </add-function>
</object-type>
diff --git a/sources/pyside6/PySide6/QtPrintSupport/typesystem_printsupport_common.xml b/sources/pyside6/PySide6/QtPrintSupport/typesystem_printsupport_common.xml
index 586b63ce5..5b5c01276 100644
--- a/sources/pyside6/PySide6/QtPrintSupport/typesystem_printsupport_common.xml
+++ b/sources/pyside6/PySide6/QtPrintSupport/typesystem_printsupport_common.xml
@@ -43,7 +43,10 @@
<load-typesystem name="QtWidgets/typesystem_widgets.xml" generate="no"/>
<object-type name="QPageSetupDialog">
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="int">
+ <inject-code file="../glue/qtprintsupport.cpp" snippet="exec" />
+ </add-function>
</object-type>
<object-type name="QAbstractPrintDialog">
@@ -52,7 +55,10 @@
</object-type>
<object-type name="QPrintDialog">
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="int">
+ <inject-code file="../glue/qtprintsupport.cpp" snippet="exec" />
+ </add-function>
</object-type>
<object-type name="QPrintEngine">
<enum-type name="PrintEnginePropertyKey"/>
diff --git a/sources/pyside6/PySide6/QtSql/typesystem_sql.xml b/sources/pyside6/PySide6/QtSql/typesystem_sql.xml
index b7747adf0..1698c0bf1 100644
--- a/sources/pyside6/PySide6/QtSql/typesystem_sql.xml
+++ b/sources/pyside6/PySide6/QtSql/typesystem_sql.xml
@@ -65,7 +65,10 @@
<include file-name="QStringList" location="global"/>
<include file-name="QSize" location="global"/>
</extra-includes>
- <modify-function signature="exec(QString)const" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec(QString)const" allow-thread="yes"/>
+ <add-function signature="exec_(QString @query@ = QString())const" return-type="QSqlQuery">
+ <inject-code file="../glue/qtsql.cpp" snippet="qsqldatabase-exec"/>
+ </add-function>
<modify-function signature="open()" allow-thread="yes"/>
<modify-function signature="open(const QString&amp;, const QString&amp;)" allow-thread="yes"/>
<modify-function signature="commit()" allow-thread="yes"/>
@@ -86,8 +89,16 @@
<include file-name="QStringList" location="global"/>
<include file-name="QSize" location="global"/>
</extra-includes>
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
- <modify-function signature="exec(const QString&amp;)" rename="exec_" allow-thread="yes"/>
+ <!-- exec() -->
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="bool">
+ <inject-code file="../glue/qtsql.cpp" snippet="simple-exec"/>
+ </add-function>
+ <!-- exec(QString) -->
+ <modify-function signature="exec(const QString&amp;)" allow-thread="yes"/>
+ <add-function signature="exec_(const QString&amp;)" return-type="bool">
+ <inject-code file="../glue/qtsql.cpp" snippet="qsqlquery-exec"/>
+ </add-function>
<modify-function signature="prepare(const QString&amp;)" allow-thread="yes"/>
<modify-function signature="clear()" allow-thread="yes"/>
<modify-function signature="last()" allow-thread="yes"/>
@@ -169,7 +180,10 @@
<!-- ### This isn't part of Qt public API -->
<modify-function signature="virtual_hook(int,void*)" remove="all"/>
<!-- ### -->
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="bool">
+ <inject-code file="../glue/qtsql.cpp" snippet="qsqlresult-exec"/>
+ </add-function>
<modify-function signature="fetchLast()" allow-thread="yes"/>
<modify-function signature="fetchFirst()" allow-thread="yes"/>
<modify-function signature="fetchNext()" allow-thread="yes"/>
diff --git a/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml b/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml
index 7204fed89..4f1ee2472 100644
--- a/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml
+++ b/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml
@@ -490,7 +490,10 @@
<object-type name="QDateEdit"/>
<object-type name="QDialog">
<enum-type name="DialogCode"/>
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="int">
+ <inject-code file="../glue/qtwidgets.cpp" snippet="qapplication-exec"/>
+ </add-function>
</object-type>
<object-type name="QDialogButtonBox">
<enum-type name="ButtonLayout"/>
@@ -780,10 +783,21 @@
</object-type>
<object-type name="QMenu">
<inject-code class="native" position="beginning" file="../glue/qtwidgets.cpp" snippet="qmenu-glue"/>
-
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
- <modify-function signature="exec(const QPoint&amp;,QAction*)" rename="exec_" allow-thread="yes"/>
- <modify-function signature="exec(QList&lt;QAction*>,const QPoint&amp;,QAction*,QWidget*)" rename="exec_" allow-thread="yes"/>
+ <!-- exec() -->
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="QAction*">
+ <inject-code file="../glue/qtwidgets.cpp" snippet="qmenu-exec-1"/>
+ </add-function>
+ <!-- exec(QPoint, QAction) -->
+ <modify-function signature="exec(const QPoint&amp;,QAction*)" allow-thread="yes"/>
+ <add-function signature="exec_(const QPoint&amp;,QAction* @action@ = nullptr)" return-type="QAction*">
+ <inject-code file="../glue/qtwidgets.cpp" snippet="qmenu-exec-2"/>
+ </add-function>
+ <!-- exec(QList<QPoint>, QPoint, QAction, QWidget) -->
+ <modify-function signature="exec(QList&lt;QAction*>,const QPoint&amp;,QAction*,QWidget*)" allow-thread="yes"/>
+ <add-function signature="exec_(QList&lt;QAction*>,const QPoint&amp;,QAction* @at@ = nullptr,QWidget* @parent@ = nullptr)" return-type="QAction*">
+ <inject-code file="../glue/qtwidgets.cpp" snippet="qmenu-exec-3"/>
+ </add-function>
<modify-function signature="addAction(const QString&amp;)">
<modify-argument index="return">
<parent index="this" action="add"/>
@@ -2801,7 +2815,10 @@
<modify-function signature="setStyle(QStyle*)">
<inject-code class="target" position="end" file="../glue/qtwidgets.cpp" snippet="qapplication-setStyle"/>
</modify-function>
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
+ <modify-function signature="exec()" allow-thread="yes"/>
+ <add-function signature="exec_()" return-type="int">
+ <inject-code file="../glue/qtwidgets.cpp" snippet="qapplication-exec"/>
+ </add-function>
<modify-function signature="notify(QObject*,QEvent*)" allow-thread="yes"/>
<modify-function signature="alert(QWidget*,int)" allow-thread="yes"/>
<inject-code class="native" position="beginning" file="../glue/qtwidgets.cpp" snippet="qapplication-init"/>
diff --git a/sources/pyside6/PySide6/glue/qtcore.cpp b/sources/pyside6/PySide6/glue/qtcore.cpp
index e4e964e73..f4521c1b4 100644
--- a/sources/pyside6/PySide6/glue/qtcore.cpp
+++ b/sources/pyside6/PySide6/glue/qtcore.cpp
@@ -1541,7 +1541,78 @@ Py_END_ALLOW_THREADS
}
}
// @snippet qt-module-shutdown
-
+//
+// @snippet qthread_exec_
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+#ifndef AVOID_PROTECTED_HACK
+int cppResult = %CPPSELF.exec();
+#else
+int cppResult = static_cast<::QThreadWrapper *>(cppSelf)->QThreadWrapper::exec_protected();
+#endif
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet qthread_exec_
+
+// @snippet exec_
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+int cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet exec_
+
+// @snippet exec_arg1
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+int cppResult;
+if (numArgs == 1)
+ cppResult = %CPPSELF.exec(%1);
+else
+ cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet exec_arg1
+
+// @snippet exec_arg1_noreturn
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+if (numArgs == 1)
+ %CPPSELF.exec(%1);
+else
+ %CPPSELF.exec();
+%END_ALLOW_THREADS
+// @snippet exec_arg1_noreturn
+
+// @snippet qtextstreammanipulator-exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%CPPSELF.exec(%1);
+// @snippet qtextstreammanipulator-exec
/*********************************************************************
* CONVERSIONS
diff --git a/sources/pyside6/PySide6/glue/qtgui.cpp b/sources/pyside6/PySide6/glue/qtgui.cpp
index 28d7c468e..48d246ddc 100644
--- a/sources/pyside6/PySide6/glue/qtgui.cpp
+++ b/sources/pyside6/PySide6/glue/qtgui.cpp
@@ -559,6 +559,51 @@ if (!result.isNull())
Shiboken::Object::setParent(%PYARG_2, %PYSELF);
// @snippet qshortcut-2
+// @snippet qguiapplication-exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+int cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet qguiapplication-exec
+
+// @snippet qdrag-exec-arg1
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+int cppResult = %CPPSELF.exec(%1);
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet qdrag-exec-arg1
+
+// @snippet qdrag-exec-arg2
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+int cppResult;
+if (numArgs == 2)
+ cppResult = %CPPSELF.exec(%1, %2);
+else if (numArgs == 1)
+ cppResult = %CPPSELF.exec(%1);
+else
+ cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet qdrag-exec-arg2
+
/*********************************************************************
* CONVERSIONS
********************************************************************/
diff --git a/sources/pyside6/PySide6/glue/qtprintsupport.cpp b/sources/pyside6/PySide6/glue/qtprintsupport.cpp
index 300a498c0..acd8eb4e2 100644
--- a/sources/pyside6/PySide6/glue/qtprintsupport.cpp
+++ b/sources/pyside6/PySide6/glue/qtprintsupport.cpp
@@ -41,3 +41,16 @@
bool out = %CPPSELF.setPageSize(%1);
%PYARG_0 = %CONVERTTOPYTHON[bool](out);
// @snippet setpagesize
+
+// @snippet exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+int cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet exec
diff --git a/sources/pyside6/PySide6/glue/qtsql.cpp b/sources/pyside6/PySide6/glue/qtsql.cpp
new file mode 100644
index 000000000..34860ab9b
--- /dev/null
+++ b/sources/pyside6/PySide6/glue/qtsql.cpp
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt for Python.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+// @snippet simple-exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+bool cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[bool](cppResult);
+// @snippet simple-exec
+
+
+// @snippet qsqldatabase-exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+QSqlQuery cppResult = %CPPSELF.exec(%1);
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[QSqlQuery](cppResult);
+// @snippet qsqldatabase-exec
+
+// @snippet qsqlquery-exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+bool cppResult = %CPPSELF.exec(%1);
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[bool](cppResult);
+// @snippet qsqlquery-exec
+
+// @snippet qsqlresult-exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+#ifndef AVOID_PROTECTED_HACK
+bool cppResult = %CPPSELF.exec();
+#else
+bool cppResult = static_cast<::QSqlResultWrapper *>(cppSelf)->QSqlResultWrapper::exec_protected();
+#endif
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[bool](cppResult);
+// @snippet qsqlresult-exec
diff --git a/sources/pyside6/PySide6/glue/qtwidgets.cpp b/sources/pyside6/PySide6/glue/qtwidgets.cpp
index f41bc7616..bd431655e 100644
--- a/sources/pyside6/PySide6/glue/qtwidgets.cpp
+++ b/sources/pyside6/PySide6/glue/qtwidgets.cpp
@@ -632,6 +632,58 @@ if (_old)
Shiboken::Object::setParent(%PYSELF, %PYARG_1);
// @snippet qgraphicsproxywidget-setwidget
+// @snippet qapplication-exec
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+int cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[int](cppResult);
+// @snippet qapplication-exec
+
+// @snippet qmenu-exec-1
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+QAction *cppResult = %CPPSELF.exec();
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[QAction](cppResult);
+// @snippet qmenu-exec-1
+
+// @snippet qmenu-exec-2
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+QAction *cppResult = %CPPSELF.exec(%1, %2);
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[QAction](cppResult);
+// @snippet qmenu-exec-2
+
+// @snippet qmenu-exec-3
+if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "'exec_' will be removed in the future. "
+ "Use 'exec' instead.",
+ 1)) {
+ return nullptr;
+}
+%BEGIN_ALLOW_THREADS
+QAction *cppResult = %CPPSELF.exec(%1, %2, %3, %4);
+%END_ALLOW_THREADS
+%PYARG_0 = %CONVERTTOPYTHON[QAction*](cppResult);
+// @snippet qmenu-exec-3
+
/*********************************************************************
* CONVERSIONS
********************************************************************/