diff options
-rw-r--r-- | .clang-tidy | 1 | ||||
-rw-r--r-- | src/server/UndoStack.hpp | 10 |
2 files changed, 6 insertions, 5 deletions
diff --git a/.clang-tidy b/.clang-tidy index d4fc88ec..a8b382bf 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -14,7 +14,6 @@ Checks: > -bugprone-suspicious-string-compare, -cert-dcl50-cpp, -cert-err34-c, - -cert-oop54-cpp, -clang-analyzer-alpha.*, -clang-analyzer-core.CallAndMessage, -clang-analyzer-optin.cplusplus.VirtualCall, diff --git a/src/server/UndoStack.hpp b/src/server/UndoStack.hpp index 26334aeb..22d48379 100644 --- a/src/server/UndoStack.hpp +++ b/src/server/UndoStack.hpp @@ -54,10 +54,12 @@ public: ~Entry() { clear(); } Entry& operator=(const Entry& rhs) { - clear(); - time = rhs.time; - for (const LV2_Atom* ev : rhs.events) { - push_event(ev); + if (&rhs != this) { + clear(); + time = rhs.time; + for (const LV2_Atom* ev : rhs.events) { + push_event(ev); + } } return *this; } |