diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-12-02 15:00:16 +0100 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2020-02-12 21:49:31 +0000 |
commit | 4fe529cc793305c24f58c4c32d57f2923ff7750a (patch) | |
tree | 5c36417a6855f2205b00c02820bf1d4c5a13ef18 /src/imports/sensors/qmlsensor.h | |
parent | c39e6eb10105a2bb0847129bfb1f7dcdc7dd5cf5 (diff) | |
download | qtsensors-4fe529cc793305c24f58c4c32d57f2923ff7750a.tar.gz |
Fix QML API for sensor ranges
Previously the QQmlListProperties were constructed on stack-allocated
lists, which immediately turned into dangling pointers on return. Also,
none of the sensor ranges was ever deleted.
Keep the sensor ranges in persistent lists in the private object, parent
them to the main QmlSensor object, and add some tests for them.
Fixes: QTBUG-79224
Change-Id: Ie61d0aaeaaaf998c1d1f46f60c81848ae48659d6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit f6b550ea5eae80124576766fe1a9609ae5aba1e3)
Diffstat (limited to 'src/imports/sensors/qmlsensor.h')
-rw-r--r-- | src/imports/sensors/qmlsensor.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/imports/sensors/qmlsensor.h b/src/imports/sensors/qmlsensor.h index e46278b..3ac8269 100644 --- a/src/imports/sensors/qmlsensor.h +++ b/src/imports/sensors/qmlsensor.h @@ -40,6 +40,7 @@ #ifndef QMLSENSOR_H #define QMLSENSOR_H +#include <QObject> #include <QQmlParserStatus> #include <QQmlListProperty> #include "qmlsensorrange.h" @@ -51,9 +52,11 @@ class QSensorReading; class QmlSensorReading; +class QmlSensorPrivate; class QmlSensor : public QObject, public QQmlParserStatus { Q_OBJECT + Q_DECLARE_PRIVATE(QmlSensor) Q_ENUMS(AxesOrientationMode) Q_INTERFACES(QQmlParserStatus) Q_PROPERTY(QString identifier READ identifier WRITE setIdentifier NOTIFY identifierChanged) |