From bc9d4d02a2911a662468005684029a680f071aac Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sat, 10 Jul 2021 02:17:10 +0200 Subject: [PATCH] Fix copy and move semantics for DnD proxy handle --- src/wine-host/xdnd-proxy.cpp | 19 +------------------ src/wine-host/xdnd-proxy.h | 4 ++-- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/src/wine-host/xdnd-proxy.cpp b/src/wine-host/xdnd-proxy.cpp index 654093cb..635c3e0a 100644 --- a/src/wine-host/xdnd-proxy.cpp +++ b/src/wine-host/xdnd-proxy.cpp @@ -166,27 +166,10 @@ WineXdndProxy::Handle::~Handle() noexcept { WineXdndProxy::Handle::Handle(const Handle& o) noexcept : proxy(o.proxy) { instance_reference_count += 1; } -WineXdndProxy::Handle& WineXdndProxy::Handle::operator=( - const Handle& o) noexcept { - if (&o != this) { - instance_reference_count += 1; - proxy = o.proxy; - } - return *this; -} - -WineXdndProxy::Handle::Handle(Handle&& o) noexcept : proxy(std::move(o.proxy)) { +WineXdndProxy::Handle::Handle(Handle&& o) noexcept : proxy(o.proxy) { instance_reference_count += 1; } -WineXdndProxy::Handle& WineXdndProxy::Handle::operator=(Handle&& o) noexcept { - if (&o != this) { - instance_reference_count += 1; - proxy = std::move(o.proxy); - } - - return *this; -} WineXdndProxy::Handle WineXdndProxy::init_proxy() { // We're doing a bit of a hybrid between a COM-style reference counted smart diff --git a/src/wine-host/xdnd-proxy.h b/src/wine-host/xdnd-proxy.h index 334f906b..99527f41 100644 --- a/src/wine-host/xdnd-proxy.h +++ b/src/wine-host/xdnd-proxy.h @@ -60,10 +60,10 @@ class WineXdndProxy { ~Handle() noexcept; Handle(const Handle&) noexcept; - Handle& operator=(const Handle&) noexcept; + Handle& operator=(const Handle&) noexcept = default; Handle(Handle&&) noexcept; - Handle& operator=(Handle&&) noexcept; + Handle& operator=(Handle&&) noexcept = default; private: WineXdndProxy* proxy;