Переглянути джерело

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.
Linus Groh 4 роки тому
батько
коміт
d1e1cfc133
1 змінених файлів з 2 додано та 2 видалено
  1. 2 2
      Libraries/LibGUI/ScrollableWidget.cpp

+ 2 - 2
Libraries/LibGUI/ScrollableWidget.cpp

@@ -101,8 +101,8 @@ void ScrollableWidget::resize_event(ResizeEvent& event)
 
 
 Gfx::IntSize ScrollableWidget::available_size() const
 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 };
     return { available_width, available_height };
 }
 }