diff --git a/egui/src/containers/scroll_area.rs b/egui/src/containers/scroll_area.rs index 286670b9..9ca3ff12 100644 --- a/egui/src/containers/scroll_area.rs +++ b/egui/src/containers/scroll_area.rs @@ -137,9 +137,9 @@ impl ScrollArea { ), *ui.layout(), ); - let mut content_clip_rect = inner_rect.expand(ui.visuals().clip_rect_margin); - content_clip_rect = content_clip_rect.intersect(ui.clip_rect()); - content_clip_rect.max.x = ui.clip_rect().max.x - current_scroll_bar_width; // Nice handling of forced resizing beyond the possible + let content_clip_rect = inner_rect + .expand(ui.visuals().clip_rect_margin) + .intersect(ui.clip_rect()); content_ui.set_clip_rect(content_clip_rect); let viewport = Rect::from_min_size(Pos2::ZERO + state.offset, inner_size); @@ -251,7 +251,7 @@ impl Prepared { } let width = if inner_rect.width().is_finite() { - inner_rect.width().max(content_size.x) // Expand width to fit content + inner_rect.width() // Position scroll bar correctly } else { // ScrollArea is in an infinitely wide parent content_size.x