This is an automated email from the ASF dual-hosted git repository.

pnoltes pushed a commit to branch feature/scheduled_event_on_event_thread
in repository https://gitbox.apache.org/repos/asf/celix.git

commit 45e4dd11260a7857d071496b15083df1a3ba9666
Author: Pepijn Noltes <[email protected]>
AuthorDate: Mon Jul 3 19:55:36 2023 +0200

    Fix move semantics of ScheduledEvent
---
 libs/framework/include/celix/ScheduledEvent.h | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/libs/framework/include/celix/ScheduledEvent.h 
b/libs/framework/include/celix/ScheduledEvent.h
index 45202577..ffa6c078 100644
--- a/libs/framework/include/celix/ScheduledEvent.h
+++ b/libs/framework/include/celix/ScheduledEvent.h
@@ -55,8 +55,20 @@ class ScheduledEvent final {
     ScheduledEvent(const ScheduledEvent&) = delete;
     ScheduledEvent& operator=(const ScheduledEvent&) = delete;
 
-    ScheduledEvent(ScheduledEvent&&) noexcept = default;
-    ScheduledEvent& operator=(ScheduledEvent&&) noexcept = default;
+    ScheduledEvent(ScheduledEvent&& rhs) noexcept
+        : ctx{std::move(rhs.ctx)}, eventId{rhs.eventId}, 
isOneShot{rhs.isOneShot} {
+        rhs.eventId = -1;
+    }
+
+    ScheduledEvent& operator=(ScheduledEvent&& rhs) noexcept {
+        if (this != &rhs) {
+            ctx = std::move(rhs.ctx);
+            eventId = rhs.eventId;
+            isOneShot = rhs.isOneShot;
+            rhs.eventId = -1;
+        }
+        return *this;
+    }
 
     /**
      * @brief Cancels the scheduled event.

Reply via email to