diff options
| author | Pieter Wuille <[email protected]> | 2019-05-09 18:07:33 -0700 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2019-05-09 18:07:33 -0700 |
| commit | 0b09a57aec4c56712711585a4314d73d4d9b6877 (patch) | |
| tree | cb176e55b272a145187c026e68479ece1b96d179 /src | |
| parent | Merge #15939: gitian: Remove Windows 32 bit build (diff) | |
| download | discoin-0b09a57aec4c56712711585a4314d73d4d9b6877.tar.xz discoin-0b09a57aec4c56712711585a4314d73d4d9b6877.zip | |
Give WalletModel::UnlockContext move semantics
Diffstat (limited to 'src')
| -rw-r--r-- | src/qt/walletmodel.cpp | 2 | ||||
| -rw-r--r-- | src/qt/walletmodel.h | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index fd392b7cf..a2b295df2 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -482,7 +482,7 @@ WalletModel::UnlockContext::~UnlockContext() } } -void WalletModel::UnlockContext::CopyFrom(const UnlockContext& rhs) +void WalletModel::UnlockContext::CopyFrom(UnlockContext&& rhs) { // Transfer context; old object no longer relocks wallet *this = rhs; diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index b123befbb..54428aec0 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -194,15 +194,18 @@ public: bool isValid() const { return valid; } - // Copy operator and constructor transfer the context - UnlockContext(const UnlockContext& obj) { CopyFrom(obj); } - UnlockContext& operator=(const UnlockContext& rhs) { CopyFrom(rhs); return *this; } + // Copy constructor is disabled. + UnlockContext(const UnlockContext&) = delete; + // Move operator and constructor transfer the context + UnlockContext(UnlockContext&& obj) { CopyFrom(std::move(obj)); } + UnlockContext& operator=(UnlockContext&& rhs) { CopyFrom(std::move(rhs)); return *this; } private: WalletModel *wallet; bool valid; mutable bool relock; // mutable, as it can be set to false by copying - void CopyFrom(const UnlockContext& rhs); + UnlockContext& operator=(const UnlockContext&) = default; + void CopyFrom(UnlockContext&& rhs); }; UnlockContext requestUnlock(); |