First pass on fixes

This commit is contained in:
Piotr Osiewicz 2025-08-19 14:23:59 +02:00
parent 5826d89b97
commit 2f3be75fc7
269 changed files with 1593 additions and 2574 deletions

View file

@ -98,13 +98,12 @@ pub fn highlight_ranges(
loop {
end_ix = end_ix + text[end_ix..].chars().next().unwrap().len_utf8();
if let Some(&next_ix) = highlight_indices.peek() {
if next_ix == end_ix {
if let Some(&next_ix) = highlight_indices.peek()
&& next_ix == end_ix {
end_ix = next_ix;
highlight_indices.next();
continue;
}
}
break;
}

View file

@ -72,11 +72,10 @@ impl<M: ManagedView> PopoverMenuHandle<M> {
}
pub fn hide(&self, cx: &mut App) {
if let Some(state) = self.0.borrow().as_ref() {
if let Some(menu) = state.menu.borrow().as_ref() {
if let Some(state) = self.0.borrow().as_ref()
&& let Some(menu) = state.menu.borrow().as_ref() {
menu.update(cx, |_, cx| cx.emit(DismissEvent));
}
}
}
pub fn toggle(&self, window: &mut Window, cx: &mut App) {
@ -278,11 +277,10 @@ fn show_menu<M: ManagedView>(
window
.subscribe(&new_menu, cx, move |modal, _: &DismissEvent, window, cx| {
if modal.focus_handle(cx).contains_focused(window, cx) {
if let Some(previous_focus_handle) = previous_focus_handle.as_ref() {
if modal.focus_handle(cx).contains_focused(window, cx)
&& let Some(previous_focus_handle) = previous_focus_handle.as_ref() {
window.focus(previous_focus_handle);
}
}
*menu2.borrow_mut() = None;
window.refresh();
})
@ -373,15 +371,14 @@ impl<M: ManagedView> Element for PopoverMenu<M> {
(child_builder)(element_state.menu.clone(), self.menu_builder.clone())
});
if let Some(trigger_handle) = self.trigger_handle.take() {
if let Some(menu_builder) = self.menu_builder.clone() {
if let Some(trigger_handle) = self.trigger_handle.take()
&& let Some(menu_builder) = self.menu_builder.clone() {
*trigger_handle.0.borrow_mut() = Some(PopoverMenuHandleState {
menu_builder,
menu: element_state.menu.clone(),
on_open: self.on_open.clone(),
});
}
}
let child_layout_id = child_element
.as_mut()

View file

@ -250,13 +250,12 @@ impl<M: ManagedView> Element for RightClickMenu<M> {
window
.subscribe(&new_menu, cx, move |modal, _: &DismissEvent, window, cx| {
if modal.focus_handle(cx).contains_focused(window, cx) {
if let Some(previous_focus_handle) =
if modal.focus_handle(cx).contains_focused(window, cx)
&& let Some(previous_focus_handle) =
previous_focus_handle.as_ref()
{
window.focus(previous_focus_handle);
}
}
*menu2.borrow_mut() = None;
window.refresh();
})