diff --git a/crates/egui/src/menu.rs b/crates/egui/src/menu.rs index 780790480b6..83f33f1c04a 100644 --- a/crates/egui/src/menu.rs +++ b/crates/egui/src/menu.rs @@ -472,7 +472,8 @@ impl SubMenuButton { text_galley.size().x + icon_galley.size().x, text_galley.size().y.max(icon_galley.size().y), ); - let desired_size = text_and_icon_size + 2.0 * button_padding; + let mut desired_size = text_and_icon_size + 2.0 * button_padding; + desired_size.y = desired_size.y.at_least(ui.spacing().interact_size.y); let (rect, response) = ui.allocate_at_least(desired_size, sense); response.widget_info(|| { diff --git a/crates/egui/src/widgets/button.rs b/crates/egui/src/widgets/button.rs index 46f5dd57e88..7a815e9581b 100644 --- a/crates/egui/src/widgets/button.rs +++ b/crates/egui/src/widgets/button.rs @@ -180,10 +180,10 @@ impl Widget for Button { desired_size.x += ui.spacing().item_spacing.x + shortcut_text.size().x; desired_size.y = desired_size.y.max(shortcut_text.size().y); } + desired_size += 2.0 * button_padding; if !small { desired_size.y = desired_size.y.at_least(ui.spacing().interact_size.y); } - desired_size += 2.0 * button_padding; desired_size = desired_size.at_least(min_size); let (rect, response) = ui.allocate_at_least(desired_size, sense);