Consume all mouse events inside popups

Fixes issues of mouse clicks "bleeding" through into the editor when
clicked on top of popups. In previous versions, mouse events were ignored
and passed into the lower layers which resulted in editor cursor being
moved when popup areas are clicked.
pull/10126/head
Gokul Soumya 8 months ago
parent d05cc25794
commit a97bf79cf7

@ -204,14 +204,16 @@ impl<T: Component> Popup<T> {
match kind { match kind {
MouseEventKind::ScrollDown if self.has_scrollbar => { MouseEventKind::ScrollDown if self.has_scrollbar => {
self.scroll_half_page_down(); self.scroll_half_page_down();
EventResult::Consumed(None)
} }
MouseEventKind::ScrollUp if self.has_scrollbar => { MouseEventKind::ScrollUp if self.has_scrollbar => {
self.scroll_half_page_up(); self.scroll_half_page_up();
EventResult::Consumed(None)
} }
_ => EventResult::Ignored(None), _ => {}
} };
// Mouse event happened within the popup; consume the event so that
// it doesn't bleed into the editor.
EventResult::Consumed(None)
} }
fn close_cb(&self) -> Callback { fn close_cb(&self) -> Callback {

Loading…
Cancel
Save