From 2f3102672c1d3c8a508a9143dd5a108dec73ef29 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Mon, 20 May 2024 21:39:18 -0400 Subject: [PATCH] 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 --- crates/ui/src/components/context_menu.rs | 2 +- crates/ui/src/with_rem_size.rs | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/ui/src/components/context_menu.rs b/crates/ui/src/components/context_menu.rs index 32af2eb59b..bd1fefc0c3 100644 --- a/crates/ui/src/components/context_menu.rs +++ b/crates/ui/src/components/context_menu.rs @@ -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) diff --git a/crates/ui/src/with_rem_size.rs b/crates/ui/src/with_rem_size.rs index a63588bf9d..f286177efb 100644 --- a/crates/ui/src/with_rem_size.rs +++ b/crates/ui/src/with_rem_size.rs @@ -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) { self.div.extend(elements)