diff --git a/crates/gpui/src/app/window.rs b/crates/gpui/src/app/window.rs index e17795910f434d99b5129513ee3783c494d1972b..626a969bd8f35795295fa3f70aa8182d0cad93d5 100644 --- a/crates/gpui/src/app/window.rs +++ b/crates/gpui/src/app/window.rs @@ -611,9 +611,10 @@ impl<'a> WindowContext<'a> { } Event::MouseUp(e) => { - // NOTE: The order of event pushes is important! MouseUp events MUST be fired - // before click events, and so the MouseUp events need to be pushed before - // MouseClick events. + mouse_events.push(MouseEvent::Up(MouseUp { + region: Default::default(), + platform_event: e.clone(), + })); // Synthesize one last drag event to end the drag mouse_events.push(MouseEvent::Drag(MouseDrag { @@ -626,10 +627,7 @@ impl<'a> WindowContext<'a> { }, end: true, })); - mouse_events.push(MouseEvent::Up(MouseUp { - region: Default::default(), - platform_event: e.clone(), - })); + mouse_events.push(MouseEvent::UpOut(MouseUpOut { region: Default::default(), platform_event: e.clone(),