From a2a93727db565eb1aba27f17b79735e4966b98a1 Mon Sep 17 00:00:00 2001 From: Dylan Katz Date: Mon, 10 Jan 2022 19:00:44 -0800 Subject: [PATCH] LibGUI: Allow Button::set_icon to accept a bitmap without a move Previously, Button::set_icon required moving the bitmap into the button, preventing the same bitmap from being used by multiple buttons at once. While this works for buttons that are created once, any button that is dynamically added would require the same bitmap to be loaded every single time. In addition to being ineffecient, this also makes error checking more difficult. With this change, a bitmap can be loaded once, and passed to multiple buttons. --- Userland/Libraries/LibGUI/Button.cpp | 2 +- Userland/Libraries/LibGUI/Button.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibGUI/Button.cpp b/Userland/Libraries/LibGUI/Button.cpp index 7cd7d440a0..60cbaa2648 100644 --- a/Userland/Libraries/LibGUI/Button.cpp +++ b/Userland/Libraries/LibGUI/Button.cpp @@ -134,7 +134,7 @@ void Button::set_action(Action& action) set_checked(action.is_checked()); } -void Button::set_icon(RefPtr&& icon) +void Button::set_icon(RefPtr icon) { if (m_icon == icon) return; diff --git a/Userland/Libraries/LibGUI/Button.h b/Userland/Libraries/LibGUI/Button.h index 0ab17fd88d..54c79772ec 100644 --- a/Userland/Libraries/LibGUI/Button.h +++ b/Userland/Libraries/LibGUI/Button.h @@ -20,7 +20,7 @@ class Button : public AbstractButton { public: virtual ~Button() override; - void set_icon(RefPtr&&); + void set_icon(RefPtr); void set_icon_from_path(String const&); const Gfx::Bitmap* icon() const { return m_icon.ptr(); } Gfx::Bitmap* icon() { return m_icon.ptr(); }