From 3e1976ce059e0da40ba55acf9b60bd89da851d73 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 3 Mar 2021 09:56:40 +0100 Subject: Qt Datavisualization: Fix crashes in QBar/SurfaceDataProxy add/set/insertRow() These function take an allocated array. Replace them by functions that take the list by const-ref and pass the allocated copy. Fixes: PYSIDE-1438 Change-Id: Id58cdbc4b939713b71724f5d4a67f0448c74f33f Reviewed-by: Cristian Maureira-Fredes (cherry picked from commit 3a18da91353a71e801658329c55b170c18bcd824) Reviewed-by: Christian Tismer --- .../pyside2/PySide2/glue/qtdatavisualization.cpp | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'sources/pyside2/PySide2/glue/qtdatavisualization.cpp') diff --git a/sources/pyside2/PySide2/glue/qtdatavisualization.cpp b/sources/pyside2/PySide2/glue/qtdatavisualization.cpp index 9cd5ecc62..542c46054 100644 --- a/sources/pyside2/PySide2/glue/qtdatavisualization.cpp +++ b/sources/pyside2/PySide2/glue/qtdatavisualization.cpp @@ -22,3 +22,35 @@ // @snippet releaseownership Shiboken::Object::releaseOwnership(%PYARG_1); // @snippet releaseownership + +// @snippet dataproxy-addrow +using VectorType = decltype(%1); +%RETURN_TYPE %0 = %CPPSELF.addRow(new VectorType(%1)); +%PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%0); +// @snippet dataproxy-addrow + +// @snippet dataproxy-addrow-string +using VectorType = decltype(%1); +%RETURN_TYPE %0 = %CPPSELF.addRow(new VectorType(%1), %2); +%PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%0); +// @snippet dataproxy-addrow-string + +// @snippet dataproxy-insertrow +using VectorType = decltype(%2); +%CPPSELF.insertRow(%1, new VectorType(%2)); +// @snippet dataproxy-insertrow + +// @snippet dataproxy-insertrow-string +using VectorType = decltype(%2); +%CPPSELF.insertRow(%1, new VectorType(%2), %3); +// @snippet dataproxy-insertrow-string + +// @snippet dataproxy-setrow +using VectorType = decltype(%2); +%CPPSELF.setRow(%1, new VectorType(%2)); +// @snippet dataproxy-setrow + +// @snippet dataproxy-setrow-string +using VectorType = decltype(%2); +%CPPSELF.setRow(%1, new VectorType(%2), %3); +// @snippet dataproxy-setrow-string -- cgit v1.2.3 From 967be4ead8781da67b71b177d124764de5fd0aa3 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 12 May 2021 16:38:20 +0200 Subject: 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 (cherry picked from commit a6dfbb2a72235ecabc7b1d61c085a7d7de3df8d0) --- sources/pyside2/PySide2/glue/qtdatavisualization.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sources/pyside2/PySide2/glue/qtdatavisualization.cpp') 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)); -- cgit v1.2.3