summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2022-10-12 17:03:46 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-10-19 09:06:21 +0000
commit5a29980de139e3a0cf9878f3e6c586acdd508f66 (patch)
tree0278dac5bef6fe2c82adf43e8162062118501fc9
parent148d7efb9f6590d7c93d36b788bb63ec0a6e53b9 (diff)
Fix memleak
Change-Id: Id974afa69e4423163c5c96ba812aa7ca017474fc Reviewed-by: Lars Knoll <lars@knoll.priv.no> (cherry picked from commit 8d0e5dfe93536a682849cb49fa2276ceba58ca60) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
index bfb3bdf8d..60fddab55 100644
--- a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
+++ b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
@@ -71,9 +71,11 @@ void QGstreamerCamera::setCamera(const QCameraDevice &camera)
auto *integration = static_cast<QGstreamerIntegration *>(QGstreamerIntegration::instance());
auto *device = integration->videoDevice(camera.id());
gstNewCamera = gst_device_create_element(device, "camerasrc");
- QGstStructure properties = gst_device_get_properties(device);
- if (properties.name() == "v4l2deviceprovider")
- m_v4l2Device = QString::fromUtf8(properties["device.path"].toString());
+ if (QGstStructure properties = gst_device_get_properties(device); !properties.isNull()) {
+ if (properties.name() == "v4l2deviceprovider")
+ m_v4l2Device = QString::fromUtf8(properties["device.path"].toString());
+ properties.free();
+ }
}
QCameraFormat f = findBestCameraFormat(camera);