diff --git a/LibGUI/GButton.cpp b/LibGUI/GButton.cpp index 9c60138688..f612cac7c2 100644 --- a/LibGUI/GButton.cpp +++ b/LibGUI/GButton.cpp @@ -22,9 +22,10 @@ void GButton::set_caption(String&& caption) update(); } -void GButton::paint_event(GPaintEvent&) +void GButton::paint_event(GPaintEvent& event) { Painter painter(*this); + painter.set_clip_rect(event.rect()); GStyle::the().paint_button(painter, rect(), m_button_style, m_being_pressed, m_hovered); diff --git a/LibGUI/GCheckBox.cpp b/LibGUI/GCheckBox.cpp index dae4f0fb89..b840e9f1fc 100644 --- a/LibGUI/GCheckBox.cpp +++ b/LibGUI/GCheckBox.cpp @@ -50,9 +50,10 @@ void GCheckBox::set_checked(bool b) update(); } -void GCheckBox::paint_event(GPaintEvent&) +void GCheckBox::paint_event(GPaintEvent& event) { Painter painter(*this); + painter.set_clip_rect(event.rect()); auto text_rect = rect(); text_rect.set_left(s_box_width + 4); diff --git a/LibGUI/GLabel.cpp b/LibGUI/GLabel.cpp index 140d1282f3..dc09721652 100644 --- a/LibGUI/GLabel.cpp +++ b/LibGUI/GLabel.cpp @@ -24,9 +24,10 @@ void GLabel::set_text(String&& text) update(); } -void GLabel::paint_event(GPaintEvent&) +void GLabel::paint_event(GPaintEvent& event) { Painter painter(*this); + painter.set_clip_rect(event.rect()); if (fill_with_background_color()) painter.fill_rect({ 0, 0, width(), height() }, background_color()); if (m_icon) { diff --git a/LibGUI/GListBox.cpp b/LibGUI/GListBox.cpp index ba627ab4c3..c7ed5faab3 100644 --- a/LibGUI/GListBox.cpp +++ b/LibGUI/GListBox.cpp @@ -17,9 +17,10 @@ Rect GListBox::item_rect(int index) const return Rect { 2, 2 + (index * item_height), width() - 4, item_height }; } -void GListBox::paint_event(GPaintEvent&) +void GListBox::paint_event(GPaintEvent& event) { Painter painter(*this); + painter.set_clip_rect(event.rect()); painter.fill_rect({ rect().x() + 1, rect().y() + 1, rect().width() - 2, rect().height() - 2 }, background_color()); painter.draw_rect(rect(), foreground_color()); diff --git a/LibGUI/GTextBox.cpp b/LibGUI/GTextBox.cpp index 45bdb3daec..64c792c8e1 100644 --- a/LibGUI/GTextBox.cpp +++ b/LibGUI/GTextBox.cpp @@ -22,9 +22,10 @@ void GTextBox::set_text(String&& text) update(); } -void GTextBox::paint_event(GPaintEvent&) +void GTextBox::paint_event(GPaintEvent& event) { Painter painter(*this); + painter.set_clip_rect(event.rect()); painter.fill_rect({ rect().x() + 1, rect().y() + 1, rect().width() - 2, rect().height() - 2 }, background_color()); painter.draw_rect(rect(), foreground_color());