From d1e1cfc13318c087b3de693b5e0eefd06d2acf9b Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Sun, 8 Nov 2020 15:45:03 +0000 Subject: [PATCH] LibGUI: Limit ScrollableWidget::available_size() width/height to 0 The current implementation is lying, it returns negative values if the inner rect has a zero width or height but also a scrollbar - which doesn't mean there's a "negative size" available though; it's still "no size available", i.e. 0. --- Libraries/LibGUI/ScrollableWidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Libraries/LibGUI/ScrollableWidget.cpp b/Libraries/LibGUI/ScrollableWidget.cpp index 60c7ab97f9..6d92fbf2c4 100644 --- a/Libraries/LibGUI/ScrollableWidget.cpp +++ b/Libraries/LibGUI/ScrollableWidget.cpp @@ -101,8 +101,8 @@ void ScrollableWidget::resize_event(ResizeEvent& event) Gfx::IntSize ScrollableWidget::available_size() const { - int available_width = frame_inner_rect().width() - m_size_occupied_by_fixed_elements.width() - width_occupied_by_vertical_scrollbar(); - int available_height = frame_inner_rect().height() - m_size_occupied_by_fixed_elements.height() - height_occupied_by_horizontal_scrollbar(); + unsigned available_width = max(frame_inner_rect().width() - m_size_occupied_by_fixed_elements.width() - width_occupied_by_vertical_scrollbar(), 0); + unsigned available_height = max(frame_inner_rect().height() - m_size_occupied_by_fixed_elements.height() - height_occupied_by_horizontal_scrollbar(), 0); return { available_width, available_height }; }