aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-03-02 14:15:55 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-03-03 11:16:01 +0100
commit4d4234e75ce10895bc80df8be89f2ee28b2605b5 (patch)
tree64b088d7406b964c4241e8953eb90bcbd64c0723 /sources/pyside6
parente49516c724a11ac084372b5f0d7d62a35af363cc (diff)
Fix QScatterDataProxy::resetArray() crash
Pass an allocated array to the function, similar to 00228b7605f63c58ab979362ecaa2bef96c7dc67 for QSurfaceDataProxy. A specific code snippet is used since it needs to operate on a pointer (QList* instead of the custom type for the 2-dimensional types of surface/bar). Task-number: PYSIDE-1438 Task-number: PYSIDE-2206 Pick-to: 6.4 6.2 Change-Id: I20b0f67ace4090e21c13995f94e22e37fb5fa940 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/pyside6')
-rw-r--r--sources/pyside6/PySide6/QtDataVisualization/typesystem_datavisualization.xml11
-rw-r--r--sources/pyside6/PySide6/glue/qtdatavisualization.cpp4
2 files changed, 10 insertions, 5 deletions
diff --git a/sources/pyside6/PySide6/QtDataVisualization/typesystem_datavisualization.xml b/sources/pyside6/PySide6/QtDataVisualization/typesystem_datavisualization.xml
index c99a03012..50ea5ed22 100644
--- a/sources/pyside6/PySide6/QtDataVisualization/typesystem_datavisualization.xml
+++ b/sources/pyside6/PySide6/QtDataVisualization/typesystem_datavisualization.xml
@@ -226,11 +226,12 @@
</object-type>
<value-type name="QScatterDataItem"/>
<object-type name="QScatterDataProxy">
- <modify-function signature="resetArray(QList&lt;QScatterDataItem&gt;*)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
+ <modify-function signature="resetArray(QList&lt;QScatterDataItem&gt;*)"
+ remove="all"/>
+ <add-function signature="resetArray(QList&lt;QScatterDataItem&gt;*)">
+ <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
+ snippet="scatterdataproxy-resetarray"/>
+ </add-function>
<modify-function signature="addItem(const QScatterDataItem&amp;)">
<modify-argument index="1">
<parent index="this" action="add"/>
diff --git a/sources/pyside6/PySide6/glue/qtdatavisualization.cpp b/sources/pyside6/PySide6/glue/qtdatavisualization.cpp
index 92ff9cbc9..3a179cb17 100644
--- a/sources/pyside6/PySide6/glue/qtdatavisualization.cpp
+++ b/sources/pyside6/PySide6/glue/qtdatavisualization.cpp
@@ -52,6 +52,10 @@ using ListType = decltype(%1);
%CPPSELF.resetArray(new ListType(%1), %2, %3);
// @snippet dataproxy-resetarray2
+// @snippet scatterdataproxy-resetarray
+%CPPSELF.resetArray(new QScatterDataArray(*%1));
+// @snippet scatterdataproxy-resetarray
+
// @snippet qsurfacedataproxy-resetarraynp
auto *data = QtDataVisualizationHelper::surfaceDataFromNp(%1, %2, %3, %4, %5);
// %CPPSELF.%FUNCTION_NAME