From 5a29980de139e3a0cf9878f3e6c586acdd508f66 Mon Sep 17 00:00:00 2001 From: Piotr Srebrny Date: Wed, 12 Oct 2022 17:03:46 +0200 Subject: Fix memleak Change-Id: Id974afa69e4423163c5c96ba812aa7ca017474fc Reviewed-by: Lars Knoll (cherry picked from commit 8d0e5dfe93536a682849cb49fa2276ceba58ca60) Reviewed-by: Qt Cherry-pick Bot --- .../multimedia/gstreamer/mediacapture/qgstreamercamera.cpp | 8 +++++--- 1 file 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::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); -- cgit v1.2.3