diff --git a/crates/terminal/src/terminal_element.rs b/crates/terminal/src/terminal_element.rs index 8cb193555d9a6974edc2514a8553705289931ae3..e7fd69fe49bdfff3ebaa462343f2283821cfaa8f 100644 --- a/crates/terminal/src/terminal_element.rs +++ b/crates/terminal/src/terminal_element.rs @@ -453,13 +453,15 @@ impl TerminalElement { } } }) - .on_scroll(TerminalElement::generic_button_handler( - connection, - origin, - move |terminal, origin, e, _cx| { - terminal.scroll_wheel(e, origin); - }, - )); + .on_scroll(move |event, cx| { + // cx.focus_parent_view(); + if let Some(conn_handle) = connection.upgrade(cx.app) { + conn_handle.update(cx.app, |terminal, cx| { + terminal.scroll_wheel(event, origin); + cx.notify(); + }) + } + }); // Mouse mode handlers: // All mouse modes need the extra click handlers diff --git a/crates/workspace/src/pane.rs b/crates/workspace/src/pane.rs index 752a941c59d54a472baf3dae92bdd3f21ae7b1cb..46ce9eb97fc7641c3052ee3581a3e7d2cbff1684 100644 --- a/crates/workspace/src/pane.rs +++ b/crates/workspace/src/pane.rs @@ -1493,6 +1493,7 @@ impl View for Pane { .last_focused_view .as_ref() .and_then(|handle| handle.upgrade(cx)) + .filter(|handle| handle.id() != self.tab_bar_context_menu.id()) { cx.focus(last_focused_view); } else {