diff --git a/Userland/Services/SpiceAgent/Message.cpp b/Userland/Services/SpiceAgent/Message.cpp index 6c7da27948..8bdcf04495 100644 --- a/Userland/Services/SpiceAgent/Message.cpp +++ b/Userland/Services/SpiceAgent/Message.cpp @@ -275,7 +275,7 @@ ErrorOr FileTransferDataMessage::read_from_stream(AK::S auto contents = TRY(ByteBuffer::create_uninitialized(size)); TRY(stream.read_until_filled(contents)); - return FileTransferDataMessage(id, contents); + return FileTransferDataMessage(id, move(contents)); } ErrorOr FileTransferDataMessage::debug_description() diff --git a/Userland/Services/SpiceAgent/Message.h b/Userland/Services/SpiceAgent/Message.h index 4d2345f3e7..ed3c70fe60 100644 --- a/Userland/Services/SpiceAgent/Message.h +++ b/Userland/Services/SpiceAgent/Message.h @@ -172,13 +172,19 @@ private: // Used to send the clipboard's contents to the client/server. class ClipboardMessage : public Message { public: - ClipboardMessage(ClipboardDataType data_type, ByteBuffer const& contents) + ClipboardMessage(ClipboardDataType data_type, ByteBuffer contents) : Message(Type::Clipboard) , m_data_type(data_type) - , m_contents(contents) + , m_contents(move(contents)) { } + ClipboardMessage(ClipboardMessage const&) = delete; + ClipboardMessage& operator=(ClipboardMessage const&) = delete; + + ClipboardMessage(ClipboardMessage&&) = default; + ClipboardMessage& operator=(ClipboardMessage&&) = default; + static ErrorOr read_from_stream(AK::Stream& stream); ErrorOr write_to_stream(AK::Stream& stream); @@ -247,16 +253,22 @@ class FileTransferDataMessage : public Message { public: static ErrorOr read_from_stream(AK::Stream& stream); + FileTransferDataMessage(FileTransferDataMessage const&) = delete; + FileTransferDataMessage& operator=(FileTransferDataMessage const&) = delete; + + FileTransferDataMessage(FileTransferDataMessage&&) = default; + FileTransferDataMessage& operator=(FileTransferDataMessage&&) = default; + ErrorOr debug_description() override; u32 id() const { return m_id; } ByteBuffer const& contents() { return m_contents; } private: - FileTransferDataMessage(u32 id, ByteBuffer const& contents) + FileTransferDataMessage(u32 id, ByteBuffer contents) : Message(Type::FileTransferData) , m_id(id) - , m_contents(contents) + , m_contents(move(contents)) { } diff --git a/Userland/Services/SpiceAgent/SpiceAgent.cpp b/Userland/Services/SpiceAgent/SpiceAgent.cpp index 04d100a455..af1bf5e498 100644 --- a/Userland/Services/SpiceAgent/SpiceAgent.cpp +++ b/Userland/Services/SpiceAgent/SpiceAgent.cpp @@ -91,8 +91,8 @@ ErrorOr SpiceAgent::send_clipboard_contents(ClipboardDataType data_type) clipboard_data = TRY(Gfx::PNGWriter::encode(*bitmap)); } - auto message = ClipboardMessage(data_type, clipboard_data); - TRY(this->send_message(message)); + auto message = ClipboardMessage(data_type, move(clipboard_data)); + TRY(this->send_message(move(message))); return {}; }