summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2022-09-19 10:43:30 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-10-26 09:10:47 +0000
commit98af402219a5a2bfcecd8cc92e583a7a9a9568f5 (patch)
tree5bbfe30c2da4dc17197aaf1fb4a456c9d7f0d502
parentfbcce5d41c215566b7df871182945b2c7f7ef0b3 (diff)
downloadqtmultimedia-98af402219a5a2bfcecd8cc92e583a7a9a9568f5.tar.gz
Add move constructor and assignment operator
Change-Id: Iec5b96fdd8d167aa1dda49925515752bd68285fc Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Lars Knoll <lars@knoll.priv.no> (cherry picked from commit cd1ee9707631f160c1a387a34aefeeb03714db90) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/multimedia/gstreamer/common/qgst_p.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/multimedia/gstreamer/common/qgst_p.h b/src/plugins/multimedia/gstreamer/common/qgst_p.h
index a7ce0b5fe..40897ad9d 100644
--- a/src/plugins/multimedia/gstreamer/common/qgst_p.h
+++ b/src/plugins/multimedia/gstreamer/common/qgst_p.h
@@ -271,6 +271,20 @@ public:
m_object = other.m_object;
return *this;
}
+
+ QGstObject(QGstObject &&other) noexcept
+ : m_object(std::exchange(other.m_object, nullptr))
+ {}
+ QGstObject &operator=(QGstObject &&other)
+ {
+ if (this != &other) {
+ if (m_object)
+ gst_object_unref(m_object);
+ m_object = std::exchange(other.m_object, nullptr);
+ }
+ return *this;
+ }
+
virtual ~QGstObject() {
if (m_object)
gst_object_unref(m_object);