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.
