ui: Don't break flex layout when using WithRemSize (#12076)

This PR fixes an issue where the flex hierarchy wasn't getting broken by
the use of `WithRemSize`.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-05-20 21:39:18 -04:00 committed by GitHub
parent 315e45f543
commit 2f3102672c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

View file

@ -269,7 +269,7 @@ impl Render for ContextMenu {
let ui_font_size = ThemeSettings::get_global(cx).ui_font_size;
div().occlude().elevation_2(cx).flex().flex_row().child(
WithRemSize::new(ui_font_size).child(
WithRemSize::new(ui_font_size).flex().child(
v_flex()
.min_w(px(200.))
.track_focus(&self.focus_handle)

View file

@ -1,6 +1,6 @@
use gpui::{
div, AnyElement, Bounds, Div, DivFrameState, Element, ElementId, GlobalElementId, Hitbox,
IntoElement, LayoutId, ParentElement, Pixels, WindowContext,
IntoElement, LayoutId, ParentElement, Pixels, StyleRefinement, Styled, WindowContext,
};
/// An element that sets a particular rem size for its children.
@ -18,6 +18,12 @@ impl WithRemSize {
}
}
impl Styled for WithRemSize {
fn style(&mut self) -> &mut StyleRefinement {
self.div.style()
}
}
impl ParentElement for WithRemSize {
fn extend(&mut self, elements: impl IntoIterator<Item = AnyElement>) {
self.div.extend(elements)