1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:37:35 +00:00

Applications: Fix visibility of Object-derivative constructors

Derivatives of Core::Object should be constructed through
ClassName::construct(), to avoid handling ref-counted objects with
refcount zero. Fixing the visibility means that misuses like this are
more difficult.
This commit is contained in:
Ben Wiederhake 2021-10-31 23:38:04 +01:00 committed by Andreas Kling
parent 6b75a4dfc3
commit 465af4c4d4
13 changed files with 53 additions and 43 deletions

View file

@ -35,26 +35,6 @@ struct AppState {
class ResultRow final : public GUI::Widget {
C_OBJECT(ResultRow)
public:
ResultRow()
{
auto& layout = set_layout<GUI::HorizontalBoxLayout>();
layout.set_spacing(12);
layout.set_margins(4);
m_image = add<GUI::ImageWidget>();
m_label_container = add<GUI::Widget>();
m_label_container->set_layout<GUI::VerticalBoxLayout>();
m_label_container->set_fixed_height(30);
m_title = m_label_container->add<GUI::Label>();
m_title->set_text_alignment(Gfx::TextAlignment::CenterLeft);
set_shrink_to_fit(true);
set_fill_with_background_color(true);
set_greedy_for_hits(true);
}
void set_image(RefPtr<Gfx::Bitmap> bitmap)
{
m_image->set_bitmap(bitmap);
@ -89,6 +69,26 @@ public:
Function<void()> on_selected;
private:
ResultRow()
{
auto& layout = set_layout<GUI::HorizontalBoxLayout>();
layout.set_spacing(12);
layout.set_margins(4);
m_image = add<GUI::ImageWidget>();
m_label_container = add<GUI::Widget>();
m_label_container->set_layout<GUI::VerticalBoxLayout>();
m_label_container->set_fixed_height(30);
m_title = m_label_container->add<GUI::Label>();
m_title->set_text_alignment(Gfx::TextAlignment::CenterLeft);
set_shrink_to_fit(true);
set_fill_with_background_color(true);
set_greedy_for_hits(true);
}
void mousedown_event(GUI::MouseEvent&) override
{
set_background_role(ColorRole::MenuBase);