Skip to content

Commit 6d6cec5

Browse files
committed
Fix build under Qt 6.9
- add Qt 6.9 to CI
1 parent efb3f7c commit 6d6cec5

File tree

2 files changed

+46
-42
lines changed

2 files changed

+46
-42
lines changed

.github/workflows/build_latest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
fail-fast: false
2121
matrix:
2222
os: ['ubuntu', 'windows']
23-
qt-version: [ '5.12.*', '5.15.*', '6.7.*', '6.8.*' ]
23+
qt-version: [ '5.12.*', '5.15.*', '6.8.*', '6.9.*' ]
2424
python-version: [ '3.12' ]
2525
runs-on: ${{ matrix.os }}-latest
2626
steps:
@@ -36,7 +36,7 @@ jobs:
3636
with:
3737
version: ${{ matrix.qt-version }}
3838
modules: ${{startsWith(matrix.qt-version, '6') && 'qt5compat qtscxml qtpositioning qtwebchannel qtmultimedia qtwebengine' || '' }}
39-
arch: ${{ (matrix.os == 'ubuntu' && (startsWith(matrix.qt-version, '5') && 'gcc_64' || 'linux_gcc_64')) || startsWith(matrix.qt-version, '5.12') && 'win64_msvc2017_64' || startsWith(matrix.qt-version, '6.8') && 'win64_msvc2022_64' || 'win64_msvc2019_64' }}
39+
arch: ${{ (matrix.os == 'ubuntu' && (startsWith(matrix.qt-version, '5') && 'gcc_64' || 'linux_gcc_64')) || startsWith(matrix.qt-version, '5.12') && 'win64_msvc2017_64' || startsWith(matrix.qt-version, '6') && 'win64_msvc2022_64' || 'win64_msvc2019_64' }}
4040

4141
- name: Setup Python ${{ matrix.python-version }}
4242
uses: actions/setup-python@v5

generator/typesystem_gui.xml

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
<rejection class="QOpenGLVertexArrayObject::Binder"/>
8080
<rejection class="QSizePolicy::Bits"/>
8181

82-
<rejection class="QGenericMatrix"/>
82+
<rejection class="QGenericMatrix"/>
8383
<rejection class="QPixmapFilterPrivate"/>
8484
<rejection class="QPenPrivate"/>
8585
<rejection class="QGtkStyle"/>
@@ -593,7 +593,7 @@
593593
<enum-type name="QPagedPaintDevice::PageSize"/>
594594

595595
<object-type name="QGestureRecognizer" force-abstract="yes"/>
596-
596+
597597
<value-type name="QPixmapCache::Key"/>
598598
<value-type name="QTileRules"/>
599599
<value-type name="QVector2D">
@@ -621,7 +621,7 @@
621621
<modify-function signature="operator*=(QTransform)" access="private"/>
622622

623623
<modify-function signature="asAffineMatrix()" remove="all"/>
624-
624+
625625
<modify-function signature="inverted(bool*)const">
626626
<modify-argument index="1">
627627
<remove-argument/>
@@ -703,7 +703,7 @@
703703
<modify-function signature="operator=(const QPixmap &amp;)" remove="all"/>
704704
<modify-function signature="QBitmap(QString,const char*)" access="private">
705705
</modify-function>
706-
706+
707707
<modify-function signature="fromData(QSize,const uchar*,QImage::Format)" remove="all"/>
708708
</value-type>
709709
<value-type name="QTextInlineObject"/>
@@ -758,7 +758,7 @@
758758
<modify-function signature="inputFormats()" remove="all"/> <!--### Obsolete in 4.3-->
759759
<modify-function signature="outputFormatList()" remove="all"/> <!--### Obsolete in 4.3-->
760760
<modify-function signature="outputFormats()" remove="all"/> <!--### Obsolete in 4.3-->
761-
761+
762762
<modify-function signature="setData(const char*,uint)" remove="all"/>
763763

764764
</value-type>
@@ -870,7 +870,7 @@
870870
<modify-function signature="operator!()const" remove="all"/>
871871
<modify-function signature="QPixmap(const char **)" remove="all"/>
872872
<modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
873-
873+
874874
<modify-function signature="loadFromData(const uchar *,uint,const char *,QFlags&lt;Qt::ImageConversionFlag&gt;)" remove="all"/>
875875
</value-type>
876876

@@ -1024,7 +1024,7 @@
10241024

10251025
<modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
10261026
<modify-function signature="textLanguages()const" remove="all"/> <!--### Obsolete in 4.3-->
1027-
1027+
10281028
<modify-function signature="QImage(const char**)" remove="all"/>
10291029
<modify-function signature="QImage(const uchar *,int,int,QImage::Format)" remove="all"/>
10301030
<modify-function signature="QImage(const uchar *,int,int,int,QImage::Format)" remove="all"/>
@@ -1072,7 +1072,7 @@ PyObject* constScanLine(QImage* image, int line) {
10721072
}
10731073
#endif
10741074

1075-
</inject-code>
1075+
</inject-code>
10761076
</value-type>
10771077

10781078
<value-type name="QColormap">
@@ -1116,6 +1116,10 @@ PyObject* constScanLine(QImage* image, int line) {
11161116
<modify-function signature="QColor(QColor::Spec)" remove="all"/>
11171117
<modify-function signature="operator=(QColor)" remove="all"/>
11181118
<modify-function signature="operator=(Qt::GlobalColor)" remove="all"/>
1119+
<modify-function signature="operator==(const QBrush &amp;)" remove="all"/>
1120+
<modify-function signature="operator==(const QPen &amp;)" remove="all"/>
1121+
<modify-function signature="operator!=(const QBrush &amp;)" remove="all"/>
1122+
<modify-function signature="operator!=(const QPen &amp;)" remove="all"/>
11191123

11201124
<modify-function signature="QColor(const char*)">
11211125
<remove/>
@@ -1160,7 +1164,7 @@ PyObject* constScanLine(QImage* image, int line) {
11601164

11611165
<modify-function signature="operator=(QFontMetrics)" remove="all"/>
11621166
<modify-function signature="operator=(QFontMetricsF)" remove="all"/>
1163-
1167+
11641168
<modify-function signature="QFontMetricsF(QFontMetricsF)" remove="all"/>
11651169
<modify-function signature="QFontMetricsF(QFontMetrics)" remove="all"/>
11661170
<modify-function signature="operator==(QFontMetricsF)const" remove="all"/>
@@ -1177,7 +1181,7 @@ PyObject* constScanLine(QImage* image, int line) {
11771181
</modify-function>
11781182

11791183
<modify-function signature="operator=(QFontMetrics)" remove="all"/>
1180-
1184+
11811185
<inject-code class="pywrap-h">
11821186
QFontMetrics* new_QFontMetrics() { return new QFontMetrics(QFont()); }
11831187
</inject-code>
@@ -1211,7 +1215,7 @@ PyObject* constScanLine(QImage* image, int line) {
12111215
<define-ownership owner="new-owner-of-this" />
12121216
</modify-argument>
12131217
</modify-function>
1214-
1218+
12151219
<modify-function signature="setCursorForItemOnly(QCursor)" remove="all"/>
12161220

12171221
<modify-function signature="setMatrix(QMatrix, bool)" remove="all"/>
@@ -1234,7 +1238,7 @@ PyObject* constScanLine(QImage* image, int line) {
12341238
<define-ownership owner="c++" />
12351239
</modify-argument>
12361240
</modify-function>
1237-
1241+
12381242
<modify-function signature="update()" remove="all"/>
12391243
<modify-function signature="horizontalStepsPerItem()const" remove="all"/> <!--### Obsolete in 4.3-->
12401244
<modify-function signature="setHorizontalStepsPerItem(int)" remove="all"/> <!--### Obsolete in 4.3-->
@@ -1248,7 +1252,7 @@ PyObject* constScanLine(QImage* image, int line) {
12481252
</object-type>
12491253
<object-type name="QAbstractTextDocumentLayout">
12501254
</object-type>
1251-
1255+
12521256
<!-- Removed because of problems in Qt5.0
12531257
<object-type name="QAccessible">
12541258
<modify-function signature="initialize()" remove="all"/>
@@ -1313,7 +1317,7 @@ PyObject* constScanLine(QImage* image, int line) {
13131317
<object-type name="QWizard">
13141318
<!-- ### Requires correct class name in meta object -->
13151319
<modify-function signature="setDefaultProperty(const char *, const char *, const char *)" remove="all"/>
1316-
1320+
13171321
<modify-function signature="addPage(QWizardPage*)">
13181322
<modify-argument index="1">
13191323
<define-ownership owner="c++" />
@@ -1393,15 +1397,15 @@ PyObject* constScanLine(QImage* image, int line) {
13931397
<modify-function signature="setNoReplayFor(QWidget*)">
13941398
<remove/>
13951399
</modify-function>
1396-
1400+
13971401
<inject-code class="pywrap-h">
13981402
QAction* addAction (QMenu* menu, const QString &amp; text, PyObject* callable, const QKeySequence &amp; shortcut = 0) {
13991403
QAction* a = menu-&gt;addAction(text);
14001404
a-&gt;setShortcut(shortcut);
14011405
PythonQt::self()-&gt;addSignalHandler(a, SIGNAL(triggered(bool)), callable);
14021406
return a;
14031407
}
1404-
1408+
14051409
QAction* addAction (QMenu* menu, const QIcon&amp; icon, const QString&amp; text, PyObject* callable, const QKeySequence&amp; shortcut = 0)
14061410
{
14071411
QAction* a = menu-&gt;addAction(text);
@@ -1560,7 +1564,7 @@ PyObject* constScanLine(QImage* image, int line) {
15601564
<modify-function signature="isEmpty()const" remove="all"/> <!--### Obsolete in 4.3-->
15611565
</object-type>
15621566
<object-type name="QTextObject"/>
1563-
1567+
15641568
<object-type name="QTimeEdit"/>
15651569
<object-type name="QToolBox">
15661570
<modify-function signature="addItem(QWidget*, const QIcon&amp;, const QString&amp;)">
@@ -1704,7 +1708,7 @@ PyObject* constScanLine(QImage* image, int line) {
17041708
<enum-type name="QPointingDevice::PointerType" flags="QPointingDevice::PointerTypes"/>
17051709
<value-type name="QPointingDeviceUniqueId"/>
17061710
</group>
1707-
1711+
17081712
<object-type name="QGestureEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Gesture || %1-&gt;type() == QEvent::GestureOverride"/>
17091713
<object-type name="QKeyEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::KeyPress || %1-&gt;type() == QEvent::KeyRelease || %1-&gt;type() == QEvent::ShortcutOverride"/>
17101714
<object-type name="QMouseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::MouseButtonDblClick || %1-&gt;type() == QEvent::MouseButtonPress || %1-&gt;type() == QEvent::MouseButtonRelease || %1-&gt;type() == QEvent::MouseMove"/>
@@ -1928,7 +1932,7 @@ PyObject* constScanLine(QImage* image, int line) {
19281932
<define-ownership owner="python" />
19291933
</modify-argument>
19301934
</modify-function>
1931-
1935+
19321936
<modify-function signature="isSortingEnabled()const" remove="all"/>
19331937
<modify-function signature="setSortingEnabled(bool)" remove="all"/>
19341938
<modify-function signature="indexOfTopLevelItem(QTreeWidgetItem *)">
@@ -1953,7 +1957,7 @@ PyObject* constScanLine(QImage* image, int line) {
19531957
<remove/>
19541958
</modify-function>
19551959
<modify-function signature="items(const QMimeData*)const" remove="all"/> <!--### Obsolete in 4.3-->
1956-
1960+
19571961
<modify-function signature="mimeData(const QList&lt;QTreeWidgetItem*&gt;)const">
19581962
<modify-argument index="return">
19591963
<define-ownership owner="python" />
@@ -1994,13 +1998,13 @@ PyObject* constScanLine(QImage* image, int line) {
19941998
<define-ownership owner="new-owner-of-this" />
19951999
</modify-argument>
19962000
</modify-function>
1997-
2001+
19982002
<modify-function signature="operator=(const QListWidgetItem&amp;)" remove="all"/>
19992003
<modify-function signature="backgroundColor()const" remove="all"/> <!--### Obsolete in 4.3-->
20002004
<modify-function signature="setBackgroundColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
20012005
<modify-function signature="setTextColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
20022006
<modify-function signature="textColor()const" remove="all"/> <!--### Obsolete in 4.3-->
2003-
2007+
20042008
<modify-function signature="QListWidgetItem(QListWidgetItem)" remove="all"/>
20052009
<modify-function signature="operator=(QListWidgetItem)" remove="all"/>
20062010
<modify-function signature="operator&lt;(QListWidgetItem)const" remove="all"/>
@@ -2093,15 +2097,15 @@ PyObject* constScanLine(QImage* image, int line) {
20932097
<define-ownership owner="c++" />
20942098
</modify-argument>
20952099
</modify-function>
2096-
2100+
20972101
<modify-function signature="QTreeWidgetItem(const QTreeWidgetItem &amp;)" remove="all"/>
20982102
<modify-function signature="operator=(const QTreeWidgetItem&amp;)" remove="all"/>
20992103

21002104
<modify-function signature="backgroundColor(int)const" remove="all"/> <!--### Obsolete in 4.3-->
21012105
<modify-function signature="setBackgroundColor(int, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
21022106
<modify-function signature="setTextColor(int, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
21032107
<modify-function signature="textColor(int)const" remove="all"/> <!--### Obsolete in 4.3-->
2104-
2108+
21052109
<modify-function signature="QTreeWidgetItem(QTreeWidgetItem)" remove="all"/>
21062110
<modify-function signature="operator=(QTreeWidgetItem)" remove="all"/>
21072111
<modify-function signature="operator&lt;(QTreeWidgetItem)const" remove="all"/>
@@ -2130,7 +2134,7 @@ PyObject* constScanLine(QImage* image, int line) {
21302134
<define-ownership owner="python" />
21312135
</modify-argument>
21322136
</modify-function>
2133-
2137+
21342138
<group before-version="6">
21352139
<modify-function signature="setItemHidden(const QListWidgetItem*,bool)">
21362140
<remove/>
@@ -2313,13 +2317,13 @@ PyObject* constScanLine(QImage* image, int line) {
23132317
<include file-name="QPoint" location="global"/>
23142318
<include file-name="QPixmap" location="global"/>
23152319
</extra-includes>
2316-
2320+
23172321
<modify-function signature="setMimeData(QMimeData*)">
23182322
<modify-argument index="1">
23192323
<define-ownership owner="c++" />
23202324
</modify-argument>
23212325
</modify-function>
2322-
2326+
23232327
<modify-function signature="start(QFlags&lt;Qt::DropAction&gt;)" remove="all"/> <!--### Obsolete in 4.3-->
23242328
</object-type>
23252329

@@ -2481,13 +2485,13 @@ PyObject* constScanLine(QImage* image, int line) {
24812485
<include file-name="QImage" location="global"/>
24822486
<include file-name="QPixmap" location="global"/>
24832487
</extra-includes>
2484-
2488+
24852489
<modify-function signature="setMimeData(QMimeData *, QClipboard::Mode)">
24862490
<modify-argument index="1">
24872491
<define-ownership owner="c++" />
24882492
</modify-argument>
24892493
</modify-function>
2490-
2494+
24912495
<modify-function signature="event(QEvent*)" remove="all"/>
24922496
<modify-function signature="connectNotify(const char*)" remove="all"/>
24932497
</object-type>
@@ -2590,7 +2594,7 @@ PyObject* constScanLine(QImage* image, int line) {
25902594
<define-ownership owner="c++" />
25912595
</modify-argument>
25922596
</modify-function>
2593-
2597+
25942598
<modify-function signature="isSortingEnabled()const" remove="all"/>
25952599
<modify-function signature="setSortingEnabled(bool)" remove="all"/>
25962600
<modify-function signature="setItemSelected(const QTableWidgetItem*,bool)">
@@ -2619,7 +2623,7 @@ PyObject* constScanLine(QImage* image, int line) {
26192623
<object-type name="QSplitter">
26202624

26212625
<modify-function signature="getRange(int,int*,int*)const" remove="all"/>
2622-
2626+
26232627
<modify-function signature="addWidget(QWidget *)">
26242628
<modify-argument index="1">
26252629
<define-ownership owner="c++" />
@@ -2712,7 +2716,7 @@ PyObject* constScanLine(QImage* image, int line) {
27122716
PythonQt::self()-&gt;addSignalHandler(a, SIGNAL(triggered(bool)), callable);
27132717
return a;
27142718
}
2715-
2719+
27162720
QAction* addAction (QToolBar* menu, const QIcon&amp; icon, const QString&amp; text, PyObject* callable)
27172721
{
27182722
QAction* a = menu-&gt;addAction(text);
@@ -2822,7 +2826,7 @@ PyObject* constScanLine(QImage* image, int line) {
28222826
<modify-function signature="matrixEnabled()const" remove="all"/> <!--### Obsolete in 4.3-->
28232827
<modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
28242828
<modify-function signature="setMatrixEnabled(bool)" remove="all"/> <!--### Obsolete in 4.3-->
2825-
2829+
28262830
<modify-function signature="setBrush(Qt::BrushStyle)" remove="all"/> <!--### Problematic in PythonQt -->
28272831
</object-type>
28282832

@@ -2955,7 +2959,7 @@ PyObject* constScanLine(QImage* image, int line) {
29552959
</modify-function>
29562960
</object-type>
29572961
<value-type name="QFormLayout::TakeRowResult" since-version="5.8"/>
2958-
2962+
29592963
<object-type name="QGraphicsGridLayout">
29602964
<modify-function signature="addItem(QGraphicsLayoutItem*,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
29612965
<modify-argument index="1">
@@ -3002,7 +3006,7 @@ PyObject* constScanLine(QImage* image, int line) {
30023006
</modify-argument>
30033007
</modify-function>
30043008
</object-type>
3005-
3009+
30063010
<object-type name="QGraphicsWidget"
30073011
polymorphic-id-expression="%1-&gt;isWidget()">
30083012
<!-- Duplicate function to QObject::children() to override accidental shadowing which is not present in Jambi -->
@@ -3013,7 +3017,7 @@ PyObject* constScanLine(QImage* image, int line) {
30133017
</modify-argument>
30143018
</modify-function>
30153019
</object-type>
3016-
3020+
30173021
<object-type name="QPlainTextDocumentLayout"/>
30183022
<object-type name="QPlainTextEdit">
30193023
</object-type>
@@ -3061,7 +3065,7 @@ PyObject* constScanLine(QImage* image, int line) {
30613065
<object-type name="QProxyStyle"/>
30623066
<object-type name="QSwipeGesture"/>
30633067
<object-type name="QTouchEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::TouchBegin || %1-&gt;type() == QEvent::TouchUpdate || %1-&gt;type() == QEvent::TouchEnd"/>
3064-
3068+
30653069
<!-- Qt 5 additional classes -->
30663070
<object-type name="QTextObjectInterface"/>
30673071
<object-type name="QRawFont"/>
@@ -3202,7 +3206,7 @@ PyObject* constScanLine(QImage* image, int line) {
32023206

32033207
<object-type name="QOpenGLTextureBlitter"/>
32043208
<enum-type name="QOpenGLTextureBlitter::Origin"/>
3205-
3209+
32063210
<object-type name="QConcatenateTablesProxyModel" since-version="5.13"/>
32073211
<object-type name="QTransposeProxyModel" since-version="5.13"/>
32083212

@@ -3229,7 +3233,7 @@ PyObject* constScanLine(QImage* image, int line) {
32293233
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFontMetrics' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
32303234
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QGradient' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
32313235
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFontMetricsF' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
3232-
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFormat' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
3236+
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFormat' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
32333237
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QEasingCurve' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
32343238
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QGenericMatrix' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
32353239
<suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QMatrix4x4' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
@@ -3245,7 +3249,7 @@ PyObject* constScanLine(QImage* image, int line) {
32453249
<suppress-warning text="WARNING(MetaJavaBuilder) :: private virtual function 'eventFilter(QObject * receiver, QEvent * event)' in 'QSwipeGesture'"/>
32463250
<suppress-warning text="WARNING(MetaJavaBuilder) :: private virtual function 'eventFilter(QObject * receiver, QEvent * event)' in 'QPinchGesture'"/>
32473251
<suppress-warning text="WARNING(MetaJavaBuilder) :: private virtual function 'event(QEvent * event)' in 'QPinchGesture'"/>
3248-
3252+
32493253
<!-- Intentional omissions. See explanation for QtJambiTextObjectInterface class in typesystem and headers. -->
32503254
<suppress-warning text="WARNING(MetaJavaBuilder) :: class 'QTextObjectInterface' inherits from unknown base class 'QTextObjectInterface'"/>
32513255
<suppress-warning text="WARNING(MetaJavaBuilder) :: unknown interface for 'QTextObjectInterface': 'QTextObjectInterfaceInterface'"/>

0 commit comments

Comments
 (0)