Jelajahi Sumber

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.
Dylan Katz 3 tahun lalu
induk
melakukan
a2a93727db

+ 1 - 1
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<Gfx::Bitmap>&& icon)
+void Button::set_icon(RefPtr<Gfx::Bitmap> icon)
 {
     if (m_icon == icon)
         return;

+ 1 - 1
Userland/Libraries/LibGUI/Button.h

@@ -20,7 +20,7 @@ class Button : public AbstractButton {
 public:
     virtual ~Button() override;
 
-    void set_icon(RefPtr<Gfx::Bitmap>&&);
+    void set_icon(RefPtr<Gfx::Bitmap>);
     void set_icon_from_path(String const&);
     const Gfx::Bitmap* icon() const { return m_icon.ptr(); }
     Gfx::Bitmap* icon() { return m_icon.ptr(); }