diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-04-12 10:20:34 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-04-12 11:59:01 +0200 |
| commit | 152ec44d1c0ac3da91bc6018f8c039e599f60df3 (patch) | |
| tree | 2d276c39e05afd0a829cd2e8322d314c5dcb9e52 /sources/pyside6 | |
| parent | 4a04afc95d348c8f26919a2f084ee80fa404e7d9 (diff) | |
Fix potential undefined behavior in type discovery of class hierarchies
Use the %B-placeholder for base classes always, changing the generated
expressions from:
reinterpret_cast<QMouseEvent *>(cptr)->type() == QEvent::MouseMove
to
reinterpret_cast<QEvent *>(cptr)->type() == QEvent::MouseMove
Remove the copyable-attributes since object-type is not
copyable anyways.
Pick-to: 6.7
Task-number: PYSIDE-2675
Change-Id: I89092b0afd6901e0f8cf5144eb1185ab1d80a0d5
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6')
4 files changed, 158 insertions, 97 deletions
diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml index 933a01aa1..0a08928f5 100644 --- a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml +++ b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml @@ -703,7 +703,8 @@ <enum-type name="ClockType" since="4.7"/> </value-type> - <object-type name="QAbstractTableModel" polymorphic-id-expression="qobject_cast<QAbstractTableModel*>(%1)"> + <object-type name="QAbstractTableModel" + polymorphic-id-expression="qobject_cast<QAbstractTableModel*>(%B)"> <extra-includes> <include file-name="QStringList" location="global"/> <include file-name="QSize" location="global"/> @@ -1694,7 +1695,8 @@ <value-type name="QItemSelectionRange"> </value-type> - <object-type name="QAbstractProxyModel" polymorphic-id-expression="qobject_cast<QAbstractProxyModel*>(%1)"> + <object-type name="QAbstractProxyModel" + polymorphic-id-expression="qobject_cast<QAbstractProxyModel*>(%B)"> <extra-includes> <include file-name="QItemSelection" location="global"/> <include file-name="QStringList" location="global"/> @@ -1898,7 +1900,8 @@ </modify-argument> </modify-function> </object-type> - <object-type name="QAbstractListModel" polymorphic-id-expression="qobject_cast<QAbstractListModel*>(%1)"> + <object-type name="QAbstractListModel" + polymorphic-id-expression="qobject_cast<QAbstractListModel*>(%B)"> <extra-includes> <include file-name="QStringList" location="global"/> <include file-name="QSize" location="global"/> @@ -2765,15 +2768,18 @@ file="../glue/qtcore.cpp" snippet="repr-qevent"/> </add-function> </object-type> - <object-type name="QChildEvent" polymorphic-id-expression="%1->type() == QEvent::ChildAdded || %1->type() == QEvent::ChildPolished || %1->type() == QEvent::ChildRemoved"> + <object-type name="QChildEvent" + polymorphic-id-expression="%B->type() == QEvent::ChildAdded || %B->type() == QEvent::ChildPolished || %B->type() == QEvent::ChildRemoved"> <modify-function signature="child()const"> <modify-argument index="return"> <define-ownership class="target" owner="default"/> </modify-argument> </modify-function> </object-type> - <object-type name="QTimerEvent" polymorphic-id-expression="%1->type() == QEvent::Timer"/> - <object-type name="QDynamicPropertyChangeEvent" polymorphic-id-expression="%1->type() == QEvent::DynamicPropertyChange"/> + <object-type name="QTimerEvent" + polymorphic-id-expression="%B->type() == QEvent::Timer"/> + <object-type name="QDynamicPropertyChangeEvent" + polymorphic-id-expression="%B->type() == QEvent::DynamicPropertyChange"/> <object-type name="QDataStream" stream="yes"> diff --git a/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml b/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml index 54da6133b..dd17952f0 100644 --- a/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml +++ b/sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml @@ -126,17 +126,26 @@ <object-type name="QAccessibleTextInterface"/> <object-type name="QAccessibleValueInterface"/> - <object-type name="QAccessibleEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::InvalidEvent"/> - <object-type name="QAccessibleStateChangeEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::StateChanged"/> - <object-type name="QAccessibleTableModelChangeEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::TableModelChanged"> + <object-type name="QAccessibleEvent" + polymorphic-id-expression="%B->type() == QAccessible::InvalidEvent"/> + <object-type name="QAccessibleStateChangeEvent" + polymorphic-id-expression="%B->type() == QAccessible::StateChanged"/> + <object-type name="QAccessibleTableModelChangeEvent" + polymorphic-id-expression="%B->type() == QAccessible::TableModelChanged"> <enum-type name="ModelChangeType"/> </object-type> - <object-type name="QAccessibleTextCursorEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::TextCaretMoved"/> - <object-type name="QAccessibleTextInsertEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::TextInserted"/> - <object-type name="QAccessibleTextRemoveEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::TextRemoved"/> - <object-type name="QAccessibleTextSelectionEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::TextSelectionChanged"/> - <object-type name="QAccessibleTextUpdateEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::TextUpdated"/> - <object-type name="QAccessibleValueChangeEvent" copyable="false" polymorphic-id-expression="%1->type() == QAccessible::ValueChanged"/> + <object-type name="QAccessibleTextCursorEvent" + polymorphic-id-expression="%B->type() == QAccessible::TextCaretMoved"/> + <object-type name="QAccessibleTextInsertEvent" + polymorphic-id-expression="%B->type() == QAccessible::TextInserted"/> + <object-type name="QAccessibleTextRemoveEvent" + polymorphic-id-expression="%B->type() == QAccessible::TextRemoved"/> + <object-type name="QAccessibleTextSelectionEvent" + polymorphic-id-expression="%B->type() == QAccessible::TextSelectionChanged"/> + <object-type name="QAccessibleTextUpdateEvent" + polymorphic-id-expression="%B->type() == QAccessible::TextUpdated"/> + <object-type name="QAccessibleValueChangeEvent" + polymorphic-id-expression="%B->type() == QAccessible::ValueChanged"/> <object-type name="QAction"> <enum-type name="ActionEvent"/> @@ -601,9 +610,9 @@ </modify-function> </value-type> - <value-type name="QConicalGradient" polymorphic-id-expression="%1->type() == QGradient::ConicalGradient"/> + <value-type name="QConicalGradient" polymorphic-id-expression="%B->type() == QGradient::ConicalGradient"/> <value-type name="QFontInfo"/> - <value-type name="QRadialGradient" polymorphic-id-expression="%1->type() == QGradient::RadialGradient"/> + <value-type name="QRadialGradient" polymorphic-id-expression="%B->type() == QGradient::RadialGradient"/> <value-type name="QFont" > <enum-type name="Capitalization"/> <enum-type name="SpacingType"/> @@ -1096,14 +1105,14 @@ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetrics-size"/> </modify-function> </value-type> - <value-type name="QGradient" polymorphic-id-expression="%1->type() == QGradient::NoGradient"> + <value-type name="QGradient" polymorphic-id-expression="%B->type() == QGradient::NoGradient"> <enum-type name="CoordinateMode"/> <enum-type name="InterpolationMode"/> <enum-type name="Preset"/> <enum-type name="Spread"/> <enum-type name="Type"/> </value-type> - <value-type name="QLinearGradient" polymorphic-id-expression="%1->type() == QGradient::LinearGradient"/> + <value-type name="QLinearGradient" polymorphic-id-expression="%B->type() == QGradient::LinearGradient"/> <object-type name="QPaintDevice"> <enum-type name="PaintDeviceMetric"/> </object-type> @@ -1304,37 +1313,38 @@ </modify-function> </object-type> - <object-type name="QActionEvent" polymorphic-id-expression="%1->type() == QEvent::ActionAdded || %1->type() == QEvent::ActionRemoved || %1->type() == QEvent::ActionChanged"/> - <object-type name="QCloseEvent" polymorphic-id-expression="%1->type() == QEvent::Close"/> - <object-type name="QContextMenuEvent" polymorphic-id-expression="%1->type() == QEvent::ContextMenu"> + <object-type name="QActionEvent" + polymorphic-id-expression="%B->type() == QEvent::ActionAdded || %B->type() == QEvent::ActionRemoved || %B->type() == QEvent::ActionChanged"/> + <object-type name="QCloseEvent" polymorphic-id-expression="%B->type() == QEvent::Close"/> + <object-type name="QContextMenuEvent" polymorphic-id-expression="%B->type() == QEvent::ContextMenu"> <enum-type name="Reason"/> </object-type> <value-type name="QEventPoint"> <enum-type name="State"/> </value-type> - <object-type name="QDragEnterEvent" polymorphic-id-expression="%1->type() == QEvent::DragEnter"> + <object-type name="QDragEnterEvent" polymorphic-id-expression="%B->type() == QEvent::DragEnter"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QDragLeaveEvent" polymorphic-id-expression="%1->type() == QEvent::DragLeave"> + <object-type name="QDragLeaveEvent" polymorphic-id-expression="%B->type() == QEvent::DragLeave"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QDragMoveEvent" polymorphic-id-expression="%1->type() == QEvent::DragMove"> + <object-type name="QDragMoveEvent" polymorphic-id-expression="%B->type() == QEvent::DragMove"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QDropEvent" polymorphic-id-expression="%1->type() == QEvent::Drop"> + <object-type name="QDropEvent" polymorphic-id-expression="%B->type() == QEvent::Drop"> <modify-function signature="source()const"> <modify-argument index="return"> <define-ownership class="target" owner="default"/> @@ -1346,24 +1356,29 @@ </inject-code> </add-function> </object-type> - <object-type name="QChildWindowEvent" copyable="false" since="6.7" - polymorphic-id-expression="%1->type() == QEvent::ChildWindowAdded || %1->type() == QEvent::ChildWindowRemoved"/> - <object-type name="QEnterEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::Enter"/> - <object-type name="QExposeEvent" polymorphic-id-expression="%1->type() == QEvent::Expose"/> - <object-type name="QFileOpenEvent" polymorphic-id-expression="%1->type() == QEvent::FileOpen"/> - <object-type name="QFocusEvent" polymorphic-id-expression="%1->type() == QEvent::FocusIn || %1->type() == QEvent::FocusOut"> + <object-type name="QChildWindowEvent" since="6.7" + polymorphic-id-expression="%B->type() == QEvent::ChildWindowAdded || %B->type() == QEvent::ChildWindowRemoved"/> + <object-type name="QEnterEvent" + polymorphic-id-expression="%B->type() == QEvent::Enter"/> + <object-type name="QExposeEvent" polymorphic-id-expression="%B->type() == QEvent::Expose"/> + <object-type name="QFileOpenEvent" polymorphic-id-expression="%B->type() == QEvent::FileOpen"/> + <object-type name="QFocusEvent" + polymorphic-id-expression="%B->type() == QEvent::FocusIn || %B->type() == QEvent::FocusOut"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QHelpEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::ToolTip || %1->type() == QEvent::WhatsThis"/> - <object-type name="QHideEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::Hide"/> - <object-type name="QHoverEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::HoverEnter || %1->type() == QEvent::HoverLeave || %1->type() == QEvent::HoverMove"/> - <object-type name="QIconDragEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::IconDrag"/> + <object-type name="QHelpEvent" + polymorphic-id-expression="%B->type() == QEvent::ToolTip || %B->type() == QEvent::WhatsThis"/> + <object-type name="QHideEvent" polymorphic-id-expression="%B->type() == QEvent::Hide"/> + <object-type name="QHoverEvent" + polymorphic-id-expression="%B->type() == QEvent::HoverEnter || %B->type() == QEvent::HoverLeave || %B->type() == QEvent::HoverMove"/> + <object-type name="QIconDragEvent" polymorphic-id-expression="%B->type() == QEvent::IconDrag"/> - <object-type name="QInputMethodEvent" copyable="no" polymorphic-id-expression="%1->type() == QEvent::InputMethod"> + <object-type name="QInputMethodEvent" + polymorphic-id-expression="%B->type() == QEvent::InputMethod"> <!-- only declare this if ndef QT_NO_INPUTMETHOD --> <enum-type name="AttributeType"/> <value-type name="Attribute"> @@ -1376,42 +1391,50 @@ </add-function> <!-- endif ndef QT_NO_INPUTMETHOD --> </object-type> - <object-type name="QInputMethodQueryEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::InputMethodQuery"/> + <object-type name="QInputMethodQueryEvent" + polymorphic-id-expression="%B->type() == QEvent::InputMethodQuery"/> - <object-type name="QMoveEvent" copyable = "false" polymorphic-id-expression="%1->type() == QEvent::Move"> + <object-type name="QMoveEvent" polymorphic-id-expression="%B->type() == QEvent::Move"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QNativeGestureEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::NativeGesture"/> - <object-type name="QPlatformSurfaceEvent" copyable="false" - polymorphic-id-expression="%1->type() == QEvent::PlatformSurface"> + <object-type name="QNativeGestureEvent" + polymorphic-id-expression="%B->type() == QEvent::NativeGesture"/> + <object-type name="QPlatformSurfaceEvent" + polymorphic-id-expression="%B->type() == QEvent::PlatformSurface"> <enum-type name="SurfaceEventType"/> </object-type> - <object-type name="QResizeEvent" copyable = "false" polymorphic-id-expression="%1->type() == QEvent::Resize"> + <object-type name="QResizeEvent" polymorphic-id-expression="%B->type() == QEvent::Resize"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QShortcutEvent" copyable = "false" polymorphic-id-expression="%1->type() == QEvent::Shortcut"> + <object-type name="QShortcutEvent" + polymorphic-id-expression="%B->type() == QEvent::Shortcut"> </object-type> - <object-type name="QShowEvent" copyable= "false" polymorphic-id-expression="%1->type() == QEvent::Show"/> - <object-type name="QSinglePointEvent" copyable="false"/> - <object-type name="QStatusTipEvent" copyable= "false" polymorphic-id-expression="%1->type() == QEvent::StatusTip"/> - <object-type name="QTabletEvent" copyable= "false" polymorphic-id-expression="%1->type() == QEvent::TabletMove || %1->type() == QEvent::TabletPress || %1->type() == QEvent::TabletRelease"> + <object-type name="QShowEvent" + polymorphic-id-expression="%B->type() == QEvent::Show"/> + <object-type name="QSinglePointEvent"/> + <object-type name="QStatusTipEvent" + polymorphic-id-expression="%B->type() == QEvent::StatusTip"/> + <object-type name="QTabletEvent" + polymorphic-id-expression="%B->type() == QEvent::TabletMove || %B->type() == QEvent::TabletPress || %B->type() == QEvent::TabletRelease"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QToolBarChangeEvent" polymorphic-id-expression="%1->type() == QEvent::ToolBarChange"/> - <object-type name="QWhatsThisClickedEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::WhatsThisClicked"/> - <object-type name="QWheelEvent" copyable= "false" polymorphic-id-expression="%1->type() == QEvent::Wheel"> + <object-type name="QToolBarChangeEvent" + polymorphic-id-expression="%B->type() == QEvent::ToolBarChange"/> + <object-type name="QWhatsThisClickedEvent" + polymorphic-id-expression="%B->type() == QEvent::WhatsThisClicked"/> + <object-type name="QWheelEvent" polymorphic-id-expression="%B->type() == QEvent::Wheel"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> @@ -1419,15 +1442,17 @@ </add-function> </object-type> - <object-type name="QWindowStateChangeEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::WindowStateChange"> + <object-type name="QWindowStateChangeEvent" + polymorphic-id-expression="%B->type() == QEvent::WindowStateChange"> <add-function signature="__repr__" return-type="PyObject"> <inject-code class="target" position="beginning"> <insert-template name="repr_qdebug_gui"/> </inject-code> </add-function> </object-type> - <object-type name="QInputEvent" copyable="false"/> - <object-type name="QKeyEvent" copyable= "false" polymorphic-id-expression="%1->type() == QEvent::KeyPress || %1->type() == QEvent::KeyRelease || %1->type() == QEvent::ShortcutOverride"> + <object-type name="QInputEvent"/> + <object-type name="QKeyEvent" + polymorphic-id-expression="%B->type() == QEvent::KeyPress || %B->type() == QEvent::KeyRelease || %B->type() == QEvent::ShortcutOverride"> <add-function signature="operator!=(QKeySequence::StandardKey)"> <inject-code class="target" file="../glue/qtgui.cpp" snippet="qkeyevent-operatornotequal"/> </add-function> @@ -1437,8 +1462,8 @@ </inject-code> </add-function> </object-type> - <object-type name="QMouseEvent" copyable= "false" - polymorphic-id-expression="%1->type() == QEvent::MouseButtonDblClick || %1->type() == QEvent::MouseButtonPress || %1->type() == QEvent::MouseButtonRelease || %1->type() == QEvent::MouseMove"> + <object-type name="QMouseEvent" + polymorphic-id-expression="%B->type() == QEvent::MouseButtonDblClick || %B->type() == QEvent::MouseButtonPress || %B->type() == QEvent::MouseButtonRelease || %B->type() == QEvent::MouseMove"> <modify-function signature="globalPos() const" deprecated="yes"/> <modify-function signature="localPos() const" deprecated="yes"/> <modify-function signature="pos() const" deprecated="yes"/> @@ -1454,8 +1479,8 @@ </inject-code> </add-function> </object-type> - <object-type name="QPaintEvent" copyable= "false" polymorphic-id-expression="%1->type() == QEvent::Paint"/> - <object-type name="QScrollEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::Scroll"> + <object-type name="QPaintEvent" polymorphic-id-expression="%B->type() == QEvent::Paint"/> + <object-type name="QScrollEvent" polymorphic-id-expression="%B->type() == QEvent::Scroll"> <enum-type name="ScrollState"/> </object-type> <object-type name="QPointerEvent" copyable= "false"> @@ -1465,7 +1490,8 @@ </inject-code> </add-function> </object-type> - <object-type name="QScrollPrepareEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::ScrollPrepare"/> + <object-type name="QScrollPrepareEvent" + polymorphic-id-expression="%B->type() == QEvent::ScrollPrepare"/> <object-type name="QTextFrame" > <extra-includes> @@ -1579,7 +1605,7 @@ </add-function> </object-type> - <object-type name="QStandardItemModel" polymorphic-id-expression="qobject_cast<QStandardItemModel*>(%1)"> + <object-type name="QStandardItemModel" polymorphic-id-expression="qobject_cast<QStandardItemModel*>(%B)"> <extra-includes> <include file-name="QStringList" location="global"/> <include file-name="QSize" location="global"/> diff --git a/sources/pyside6/PySide6/QtHelp/typesystem_help.xml b/sources/pyside6/PySide6/QtHelp/typesystem_help.xml index 7d73e108c..cb55baca0 100644 --- a/sources/pyside6/PySide6/QtHelp/typesystem_help.xml +++ b/sources/pyside6/PySide6/QtHelp/typesystem_help.xml @@ -16,7 +16,7 @@ </modify-argument> </modify-function> </value-type> - <object-type name="QHelpContentModel" polymorphic-id-expression="qobject_cast<QHelpContentModel*>(%1)"/> + <object-type name="QHelpContentModel" polymorphic-id-expression="qobject_cast<QHelpContentModel*>(%B)"/> <object-type name="QHelpContentWidget"/> <object-type name="QHelpEngine"/> <object-type name="QHelpEngineCore"/> diff --git a/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml b/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml index 1791cf59e..6b4ce7bbe 100644 --- a/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml +++ b/sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml @@ -47,7 +47,7 @@ <function signature="qDrawPlainRoundedRect(QPainter*,int,int,int,int,qreal,qreal,const QColor&,int,const QBrush*)" since="6.7"/> <function signature="qDrawPlainRoundedRect(QPainter*,const QRect&,qreal,qreal,const QColor&,int,const QBrush *)" since="6.7"/> - <object-type name="QStyleOption" polymorphic-id-expression="%1->type == QStyleOption::SO_Default" + <object-type name="QStyleOption" polymorphic-id-expression="%B->type == QStyleOption::SO_Default" polymorphic-name-function="styleOptionType"> <inject-code class="native" position="beginning" file="../glue/qtwidgets.cpp" snippet="qstyleoption-typename"/> @@ -55,45 +55,54 @@ <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionGraphicsItem" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionGraphicsItem *>(%1) != nullptr"> + <object-type name="QStyleOptionGraphicsItem" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionGraphicsItem *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionSizeGrip" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionSizeGrip *>(%1) != nullptr"> + <object-type name="QStyleOptionSizeGrip" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionSizeGrip *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionButton" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionButton *>(%1) != nullptr"> + <object-type name="QStyleOptionButton" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionButton *>(%B) != nullptr"> <enum-type name="ButtonFeature" flags="ButtonFeatures"/> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionComboBox" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionComboBox *>(%1) != nullptr"> + <object-type name="QStyleOptionComboBox" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionComboBox *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionComplex" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionComplex *>(%1) != nullptr"> + <object-type name="QStyleOptionComplex" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionComplex *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionDockWidget" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionDockWidget *>(%1) != nullptr"> + <object-type name="QStyleOptionDockWidget" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionDockWidget *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionFocusRect" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionFocusRect *>(%1) != nullptr"> + <object-type name="QStyleOptionFocusRect" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionFocusRect *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionFrame" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionFrame *>(%1) != nullptr"> + <object-type name="QStyleOptionFrame" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionFrame *>(%B) != nullptr"> <enum-type name="FrameFeature" flags="FrameFeatures"/> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionGroupBox" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionGroupBox *>(%1) != nullptr"> + <object-type name="QStyleOptionGroupBox" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionGroupBox *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionHeader" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionHeader *>(%1) != nullptr"> + <object-type name="QStyleOptionHeader" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionHeader *>(%B) != nullptr"> <enum-type name="SectionPosition"/> <enum-type name="SelectedPosition"/> <enum-type name="SortIndicator"/> @@ -104,29 +113,35 @@ <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionMenuItem" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionMenuItem *>(%1) != nullptr"> + <object-type name="QStyleOptionMenuItem" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionMenuItem *>(%B) != nullptr"> <enum-type name="CheckType"/> <enum-type name="MenuItemType"/> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionProgressBar" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionProgressBar *>(%1) != nullptr"> + <object-type name="QStyleOptionProgressBar" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionProgressBar *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionRubberBand" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionRubberBand *>(%1) != nullptr"> + <object-type name="QStyleOptionRubberBand" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionRubberBand *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionSlider" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionSlider *>(%1) != nullptr"> + <object-type name="QStyleOptionSlider" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionSlider *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionSpinBox" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionSpinBox *>(%1) != nullptr"> + <object-type name="QStyleOptionSpinBox" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionSpinBox *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionTab" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTab *>(%1) != nullptr"> + <object-type name="QStyleOptionTab" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTab *>(%B) != nullptr"> <enum-type name="CornerWidget" flags="CornerWidgets"/> <enum-type name="SelectedPosition"/> <enum-type name="StyleOptionType"/> @@ -134,36 +149,41 @@ <enum-type name="TabFeature" flags="TabFeatures"/> <enum-type name="TabPosition"/> </object-type> - <object-type name="QStyleOptionTabBarBase" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTabBarBase *>(%1) != nullptr"> + <object-type name="QStyleOptionTabBarBase" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTabBarBase *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionTabWidgetFrame" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(%1) != nullptr"> + <object-type name="QStyleOptionTabWidgetFrame" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTabWidgetFrame *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionTitleBar" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTitleBar *>(%1) != nullptr"> + <object-type name="QStyleOptionTitleBar" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionTitleBar *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> </object-type> - <object-type name="QStyleOptionToolBar" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionToolBar *>(%1) != nullptr"> + <object-type name="QStyleOptionToolBar" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionToolBar *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> <enum-type name="ToolBarFeature" flags="ToolBarFeatures"/> <enum-type name="ToolBarPosition"/> </object-type> - <object-type name="QStyleOptionToolBox" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionToolBox *>(%1) != nullptr"> + <object-type name="QStyleOptionToolBox" + polymorphic-id-expression="qstyleoption_cast<const QStyleOptionToolBox *>(%B) != nullptr"> <enum-type name="SelectedPosition"/> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> <enum-type name="TabPosition"/> </object-type> - <object-type name="QStyleOptionToolButton" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionToolButton *>(%1) != nullptr"> + <object-type name="QStyleOptionToolButton" polymorphic-id-expression="qstyleoption_cast<const QStyleOptionToolButton *>(%B) != nullptr"> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> <enum-type name="ToolButtonFeature" flags="ToolButtonFeatures"/> </object-type> - <value-type name="QStyleOptionViewItem" polymorphic-id-expression="%1->type == QStyleOptionViewItem::Type && %1->version == QStyleOptionViewItem::Version"> + <value-type name="QStyleOptionViewItem" + polymorphic-id-expression="%B->type == QStyleOptionViewItem::Type && %B->version == QStyleOptionViewItem::Version"> <enum-type name="Position"/> <enum-type name="StyleOptionType"/> <enum-type name="StyleOptionVersion"/> @@ -1069,12 +1089,14 @@ </modify-argument> </modify-function> </object-type> - <object-type name="QWidgetItem" polymorphic-id-expression="%1->widget()"/> + <object-type name="QWidgetItem" polymorphic-id-expression="%B->widget()"/> - <object-type name="QGraphicsSceneContextMenuEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneContextMenu"> + <object-type name="QGraphicsSceneContextMenuEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneContextMenu"> <enum-type name="Reason"/> </object-type> - <object-type name="QGraphicsSceneDragDropEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneDragEnter || %1->type() == QEvent::GraphicsSceneDragLeave || %1->type() == QEvent::GraphicsSceneDragMove || %1->type() == QEvent::GraphicsSceneDrop" > + <object-type name="QGraphicsSceneDragDropEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneDragEnter || %B->type() == QEvent::GraphicsSceneDragLeave || %B->type() == QEvent::GraphicsSceneDragMove || %B->type() == QEvent::GraphicsSceneDrop" > <!-- ### "setMimeData(const QMimeData*)" is an internal method. --> <modify-function signature="setMimeData(const QMimeData*)" remove="all"/> <!-- ### "setSource(QWidget*)" is an internal method. --> @@ -1085,14 +1107,21 @@ <!-- ### "setWidget(QWidget*)" is an internal method. --> <modify-function signature="setWidget(QWidget*)" remove="all"/> </object-type> - <object-type name="QGraphicsSceneMoveEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneMove"/> - <object-type name="QGraphicsSceneResizeEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneResize"/> - <object-type name="QGraphicsSceneHelpEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneHelp"/> - <object-type name="QGraphicsSceneHoverEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneHoverEnter || %1->type() == QEvent::GraphicsSceneHoverLeave || %1->type() == QEvent::GraphicsSceneHoverMove"/> - <object-type name="QGraphicsSceneMouseEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneMouseDoubleClick || %1->type() == QEvent::GraphicsSceneMouseMove || %1->type() == QEvent::GraphicsSceneMousePress || %1->type() == QEvent::GraphicsSceneMouseRelease"/> - <object-type name="QGraphicsSceneWheelEvent" copyable="false" polymorphic-id-expression="%1->type() == QEvent::GraphicsSceneWheel"/> - - <object-type name="QGestureEvent" polymorphic-id-expression="%1->type() == QEvent::Gesture || %1->type() == QEvent::GestureOverride" since="4.6"> + <object-type name="QGraphicsSceneMoveEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneMove"/> + <object-type name="QGraphicsSceneResizeEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneResize"/> + <object-type name="QGraphicsSceneHelpEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneHelp"/> + <object-type name="QGraphicsSceneHoverEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneHoverEnter || %B->type() == QEvent::GraphicsSceneHoverLeave || %B->type() == QEvent::GraphicsSceneHoverMove"/> + <object-type name="QGraphicsSceneMouseEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneMouseDoubleClick || %B->type() == QEvent::GraphicsSceneMouseMove || %B->type() == QEvent::GraphicsSceneMousePress || %B->type() == QEvent::GraphicsSceneMouseRelease"/> + <object-type name="QGraphicsSceneWheelEvent" + polymorphic-id-expression="%B->type() == QEvent::GraphicsSceneWheel"/> + + <object-type name="QGestureEvent" + polymorphic-id-expression="%B->type() == QEvent::Gesture || %B->type() == QEvent::GestureOverride" since="4.6"> <modify-function signature="activeGestures()const"> <modify-argument index="return"> <define-ownership owner="default"/> @@ -2890,7 +2919,7 @@ <object-type name="QCommandLinkButton"/> <!-- FIXME PYSIDE7: Move to QtGui --> - <object-type name="QFileSystemModel" polymorphic-id-expression="qobject_cast<QFileSystemModel*>(%1)"> + <object-type name="QFileSystemModel" polymorphic-id-expression="qobject_cast<QFileSystemModel*>(%B)"> <enum-type name="Roles" python-type="IntEnum"/> <enum-type name="Option" flags="Options"/> <modify-function signature="setIconProvider(QAbstractFileIconProvider*)"> |
