mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-28 20:01:33 +00:00
Fix click events by notifying when we assign pending_mouse_down
This commit is contained in:
parent
f9a5e141aa
commit
00d8921ae9
1 changed files with 6 additions and 4 deletions
|
@ -597,7 +597,7 @@ impl<V: 'static> ParentComponent<V> for Div<V> {
|
|||
}
|
||||
|
||||
impl<V: 'static> Element<V> for Div<V> {
|
||||
type ElementState = NodeState;
|
||||
type ElementState = DivState;
|
||||
|
||||
fn element_id(&self) -> Option<ElementId> {
|
||||
self.interactivity.element_id.clone()
|
||||
|
@ -617,7 +617,7 @@ impl<V: 'static> Element<V> for Div<V> {
|
|||
child.initialize(view_state, cx);
|
||||
}
|
||||
|
||||
NodeState {
|
||||
DivState {
|
||||
interactive_state,
|
||||
child_layout_ids: SmallVec::new(),
|
||||
}
|
||||
|
@ -706,7 +706,7 @@ impl<V: 'static> Component<V> for Div<V> {
|
|||
}
|
||||
}
|
||||
|
||||
pub struct NodeState {
|
||||
pub struct DivState {
|
||||
child_layout_ids: SmallVec<[LayoutId; 4]>,
|
||||
interactive_state: InteractiveElementState,
|
||||
}
|
||||
|
@ -911,11 +911,13 @@ where
|
|||
}
|
||||
}
|
||||
*pending_mouse_down.lock() = None;
|
||||
cx.notify();
|
||||
});
|
||||
} else {
|
||||
cx.on_mouse_event(move |_state, event: &MouseDownEvent, phase, _cx| {
|
||||
cx.on_mouse_event(move |_view_state, event: &MouseDownEvent, phase, cx| {
|
||||
if phase == DispatchPhase::Bubble && bounds.contains_point(&event.position) {
|
||||
*pending_mouse_down.lock() = Some(event.clone());
|
||||
cx.notify();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue