aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-05-12 16:38:20 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-05-14 07:24:20 +0200
commit967be4ead8781da67b71b177d124764de5fd0aa3 (patch)
tree7961cc3158bcfa64b79f3fe26f3f2a7524594a1e
parent60681bbda7df61cb42f1411aaeb07a0b5b055fea (diff)
Fix crash in QCustom3DVolume::setTextureData()
Similar to 3a18da91353a71e801658329c55b170c18bcd824, pass an allocated list to the function. [ChangeLog][PySide2] A crash in QCustom3DVolume::setTextureData() has been fixed. Fixes: PYSIDE-1362 Change-Id: I7dddaf7be33b84b89d66378ec61f6a065f6d71be Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit a6dfbb2a72235ecabc7b1d61c085a7d7de3df8d0)
-rw-r--r--sources/pyside2/PySide2/QtDataVisualization/typesystem_datavisualization.xml8
-rw-r--r--sources/pyside2/PySide2/glue/qtdatavisualization.cpp5
2 files changed, 12 insertions, 1 deletions
diff --git a/sources/pyside2/PySide2/QtDataVisualization/typesystem_datavisualization.xml b/sources/pyside2/PySide2/QtDataVisualization/typesystem_datavisualization.xml
index bffb95416..5dc87a013 100644
--- a/sources/pyside2/PySide2/QtDataVisualization/typesystem_datavisualization.xml
+++ b/sources/pyside2/PySide2/QtDataVisualization/typesystem_datavisualization.xml
@@ -169,7 +169,13 @@
</object-type>
<object-type name="QCustom3DItem"/>
<object-type name="QCustom3DLabel"/>
- <object-type name="QCustom3DVolume"/>
+ <object-type name="QCustom3DVolume">
+ <modify-function signature="setTextureData(QVector&lt;uchar&gt;*)" remove="all"/>
+ <add-function signature="setTextureData(const QVector&lt;uchar&gt;&amp;)">
+ <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
+ snippet="qcustom3dvolume-settexturedata"/>
+ </add-function>
+ </object-type>
<object-type name="QHeightMapSurfaceDataProxy"/>
<object-type name="QItemModelBarDataProxy">
<enum-type name="MultiMatchBehavior"/>
diff --git a/sources/pyside2/PySide2/glue/qtdatavisualization.cpp b/sources/pyside2/PySide2/glue/qtdatavisualization.cpp
index 542c46054..438829102 100644
--- a/sources/pyside2/PySide2/glue/qtdatavisualization.cpp
+++ b/sources/pyside2/PySide2/glue/qtdatavisualization.cpp
@@ -23,6 +23,11 @@
Shiboken::Object::releaseOwnership(%PYARG_1);
// @snippet releaseownership
+// @snippet qcustom3dvolume-settexturedata
+using VectorType = decltype(%1);
+%CPPSELF.setTextureData(new VectorType(%1));
+// @snippet qcustom3dvolume-settexturedata
+
// @snippet dataproxy-addrow
using VectorType = decltype(%1);
%RETURN_TYPE %0 = %CPPSELF.addRow(new VectorType(%1));