diff --git a/qt/component.cpp b/qt/component.cpp index 8e5156453..2dc1ed9bb 100644 --- a/qt/component.cpp +++ b/qt/component.cpp @@ -154,6 +154,21 @@ Component::~Component() g_object_unref(m_cpt); } +Component& Component::operator=(const Component& other) +{ + if (&other != this) { + g_object_unref(m_cpt); + m_cpt = other.m_cpt; + g_object_ref(m_cpt); + } + return *this; +} + +Component::Component(Component&& other) + : m_cpt(other.m_cpt) +{ +} + _AsComponent * AppStream::Component::asComponent() const { return m_cpt; diff --git a/qt/component.h b/qt/component.h index 3509f7ffc..0cf51051f 100644 --- a/qt/component.h +++ b/qt/component.h @@ -100,8 +100,11 @@ Q_GADGET Component(_AsComponent *cpt); Component(); Component(const Component& other); + Component(Component&& other); ~Component(); + Component& operator=(const Component& c); + _AsComponent *asComponent() const; uint valueFlags() const;