diff --git a/aegisub/libaegisub/include/libaegisub/signal.h b/aegisub/libaegisub/include/libaegisub/signal.h index 4f897b35a..0c8aa186f 100644 --- a/aegisub/libaegisub/include/libaegisub/signal.h +++ b/aegisub/libaegisub/include/libaegisub/signal.h @@ -52,10 +52,12 @@ namespace detail { /// @class Connection /// @brief Object representing a connection to a signal class Connection { - std::shared_ptr token; + std::unique_ptr token; public: Connection() { } + Connection(Connection&& that) : token(std::move(that.token)) { } Connection(detail::ConnectionToken *token) : token(token) { token->claimed = true; } + Connection& operator=(Connection&& that) { token = std::move(that.token); return *this; } /// @brief End this connection ///