diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-09-19 10:43:30 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-10-26 09:10:47 +0000 |
commit | 98af402219a5a2bfcecd8cc92e583a7a9a9568f5 (patch) | |
tree | 5bbfe30c2da4dc17197aaf1fb4a456c9d7f0d502 | |
parent | fbcce5d41c215566b7df871182945b2c7f7ef0b3 (diff) | |
download | qtmultimedia-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.h | 14 |
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); |