diff --git a/Source/Core/Core/Core.cpp b/Source/Core/Core/Core.cpp index f1e3161220..5398d8347b 100644 --- a/Source/Core/Core/Core.cpp +++ b/Source/Core/Core/Core.cpp @@ -150,7 +150,7 @@ std::string StopMessage(bool main_thread, const std::string& message) Common::CurrentThreadId(), message.c_str()); } -void DisplayMessage(const std::string& message, int time_in_ms) +void DisplayMessage(std::string message, int time_in_ms) { if (!IsRunning()) return; @@ -162,8 +162,8 @@ void DisplayMessage(const std::string& message, int time_in_ms) return; } - OSD::AddMessage(message, time_in_ms); Host_UpdateTitle(message); + OSD::AddMessage(std::move(message), time_in_ms); } bool IsRunning() diff --git a/Source/Core/Core/Core.h b/Source/Core/Core/Core.h index 26e30a2d8a..f76823d0e6 100644 --- a/Source/Core/Core/Core.h +++ b/Source/Core/Core/Core.h @@ -63,7 +63,7 @@ void SaveScreenShot(const std::string& name, bool wait_for_completion = false); void Callback_WiimoteInterruptChannel(int number, u16 channel_id, const u8* data, u32 size); // This displays messages in a user-visible way. -void DisplayMessage(const std::string& message, int time_in_ms); +void DisplayMessage(std::string message, int time_in_ms); void FrameUpdateOnCPUThread(); void OnFrameEnd(); diff --git a/Source/Core/Core/DSP/DSPHost.h b/Source/Core/Core/DSP/DSPHost.h index b0a424806a..d771fd9b48 100644 --- a/Source/Core/Core/DSP/DSPHost.h +++ b/Source/Core/Core/DSP/DSPHost.h @@ -17,7 +17,7 @@ namespace DSP::Host { u8 ReadHostMemory(u32 addr); void WriteHostMemory(u8 value, u32 addr); -void OSD_AddMessage(const std::string& str, u32 ms); +void OSD_AddMessage(std::string str, u32 ms); bool OnThread(); bool IsWiiHost(); void InterruptRequest(); diff --git a/Source/Core/Core/HW/DSPLLE/DSPHost.cpp b/Source/Core/Core/HW/DSPLLE/DSPHost.cpp index b8f42f7e41..ab88e457d2 100644 --- a/Source/Core/Core/HW/DSPLLE/DSPHost.cpp +++ b/Source/Core/Core/HW/DSPLLE/DSPHost.cpp @@ -36,9 +36,9 @@ void WriteHostMemory(u8 value, u32 addr) DSP::WriteARAM(value, addr); } -void OSD_AddMessage(const std::string& str, u32 ms) +void OSD_AddMessage(std::string str, u32 ms) { - OSD::AddMessage(str, ms); + OSD::AddMessage(std::move(str), ms); } bool OnThread() diff --git a/Source/Core/VideoCommon/OnScreenDisplay.cpp b/Source/Core/VideoCommon/OnScreenDisplay.cpp index 24d8987d99..b52de17cbf 100644 --- a/Source/Core/VideoCommon/OnScreenDisplay.cpp +++ b/Source/Core/VideoCommon/OnScreenDisplay.cpp @@ -27,8 +27,8 @@ constexpr float WINDOW_PADDING = 4.0f; // Pixels between subsequent OSD message struct Message { Message() = default; - Message(const std::string& text_, u32 timestamp_, u32 color_) - : text(text_), timestamp(timestamp_), color(color_) + Message(std::string text_, u32 timestamp_, u32 color_) + : text(std::move(text_)), timestamp(timestamp_), color(color_) { } std::string text; @@ -79,18 +79,18 @@ static float DrawMessage(int index, const Message& msg, const ImVec2& position, return window_height; } -void AddTypedMessage(MessageType type, const std::string& message, u32 ms, u32 rgba) +void AddTypedMessage(MessageType type, std::string message, u32 ms, u32 rgba) { std::lock_guard lock(s_messages_mutex); s_messages.erase(type); - s_messages.emplace(type, Message(message, Common::Timer::GetTimeMs() + ms, rgba)); + s_messages.emplace(type, Message(std::move(message), Common::Timer::GetTimeMs() + ms, rgba)); } -void AddMessage(const std::string& message, u32 ms, u32 rgba) +void AddMessage(std::string message, u32 ms, u32 rgba) { std::lock_guard lock(s_messages_mutex); s_messages.emplace(MessageType::Typeless, - Message(message, Common::Timer::GetTimeMs() + ms, rgba)); + Message(std::move(message), Common::Timer::GetTimeMs() + ms, rgba)); } void DrawMessages() diff --git a/Source/Core/VideoCommon/OnScreenDisplay.h b/Source/Core/VideoCommon/OnScreenDisplay.h index 20d563d7ba..7179b9f4c2 100644 --- a/Source/Core/VideoCommon/OnScreenDisplay.h +++ b/Source/Core/VideoCommon/OnScreenDisplay.h @@ -37,10 +37,11 @@ constexpr u32 VERY_LONG = 10000; }; // namespace Duration // On-screen message display (colored yellow by default) -void AddMessage(const std::string& message, u32 ms = Duration::SHORT, u32 rgba = Color::YELLOW); -void AddTypedMessage(MessageType type, const std::string& message, u32 ms = Duration::SHORT, +void AddMessage(std::string message, u32 ms = Duration::SHORT, u32 rgba = Color::YELLOW); +void AddTypedMessage(MessageType type, std::string message, u32 ms = Duration::SHORT, u32 rgba = Color::YELLOW); -void DrawMessages(); // draw the current messages on the screen. Only call once - // per frame. + +// Draw the current messages on the screen. Only call once per frame. +void DrawMessages(); void ClearMessages(); } // namespace OSD diff --git a/Source/DSPTool/DSPTool.cpp b/Source/DSPTool/DSPTool.cpp index f1434fd03e..bd3335189d 100644 --- a/Source/DSPTool/DSPTool.cpp +++ b/Source/DSPTool/DSPTool.cpp @@ -22,7 +22,7 @@ u8 DSP::Host::ReadHostMemory(u32 addr) void DSP::Host::WriteHostMemory(u8 value, u32 addr) { } -void DSP::Host::OSD_AddMessage(const std::string& str, u32 ms) +void DSP::Host::OSD_AddMessage(std::string str, u32 ms) { } bool DSP::Host::OnThread()