From 174062e0c525023ce101b5e018cbe32d4df0de9f Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Thu, 8 Dec 2022 11:00:55 -0500 Subject: [PATCH] LibGUI: Register GUI icon path setters as write-only The getters passed to REGISTER_STRING_PROPERTY are never invoked. But if they were, they would errantly incur an implicit pointer-to-boolean cast when their return type (Gfx::Bitmap*) is used to construct a JsonValue. --- Userland/Libraries/LibGUI/Button.cpp | 2 +- Userland/Libraries/LibGUI/ImageWidget.cpp | 2 +- Userland/Libraries/LibGUI/Label.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibGUI/Button.cpp b/Userland/Libraries/LibGUI/Button.cpp index 3f3e10b73c..226bd9b27f 100644 --- a/Userland/Libraries/LibGUI/Button.cpp +++ b/Userland/Libraries/LibGUI/Button.cpp @@ -42,7 +42,7 @@ Button::Button(DeprecatedString text) { Gfx::ButtonStyle::Normal, "Normal" }, { Gfx::ButtonStyle::Coolbar, "Coolbar" }); - REGISTER_STRING_PROPERTY("icon", icon, set_icon_from_path); + REGISTER_WRITE_ONLY_STRING_PROPERTY("icon", set_icon_from_path); REGISTER_BOOL_PROPERTY("default", is_default, set_default); } diff --git a/Userland/Libraries/LibGUI/ImageWidget.cpp b/Userland/Libraries/LibGUI/ImageWidget.cpp index 8f2d138d78..8e37a067a7 100644 --- a/Userland/Libraries/LibGUI/ImageWidget.cpp +++ b/Userland/Libraries/LibGUI/ImageWidget.cpp @@ -26,7 +26,7 @@ ImageWidget::ImageWidget(StringView) REGISTER_BOOL_PROPERTY("auto_resize", auto_resize, set_auto_resize); REGISTER_BOOL_PROPERTY("should_stretch", should_stretch, set_should_stretch); - REGISTER_STRING_PROPERTY("bitmap", bitmap, load_from_file); + REGISTER_WRITE_ONLY_STRING_PROPERTY("bitmap", load_from_file); } void ImageWidget::set_bitmap(Gfx::Bitmap const* bitmap) diff --git a/Userland/Libraries/LibGUI/Label.cpp b/Userland/Libraries/LibGUI/Label.cpp index 6ca9e59511..33f5d1ccdd 100644 --- a/Userland/Libraries/LibGUI/Label.cpp +++ b/Userland/Libraries/LibGUI/Label.cpp @@ -34,7 +34,7 @@ Label::Label(DeprecatedString text) REGISTER_STRING_PROPERTY("text", text, set_text); REGISTER_BOOL_PROPERTY("autosize", is_autosize, set_autosize); - REGISTER_STRING_PROPERTY("icon", icon, set_icon_from_path); + REGISTER_WRITE_ONLY_STRING_PROPERTY("icon", set_icon_from_path); } void Label::set_autosize(bool autosize, size_t padding)