diff --git a/druid-shell/src/backend/gtk/window.rs b/druid-shell/src/backend/gtk/window.rs index 51f7b567f6..c4256cea47 100644 --- a/druid-shell/src/backend/gtk/window.rs +++ b/druid-shell/src/backend/gtk/window.rs @@ -1021,13 +1021,14 @@ impl WindowHandle { let scale = state.scale.get(); let (width_px, height_px) = state.window.size(); let alloc_px = state.drawing_area.allocation(); + let menu_height_px = height_px - alloc_px.height; if let Some(window) = state.window.window() { let frame = window.frame_extents(); let (pos_x, pos_y) = window.position(); Insets::new( (pos_x - frame.x) as f64, - (pos_y - frame.y) as f64, + (pos_y - frame.y + menu_height_px) as f64, (frame.x + frame.width - (pos_x + width_px)) as f64, (frame.y + frame.height - (pos_y + height_px)) as f64, )