fix(statusbar): cycling-list hover highlight on row re-entry
Row exit now clears the preview only when the highlight still points at that row. Moving between rows can fire on_enter before the previous row's on_exit, so the unconditional clear wiped a freshly highlighted row (notably when returning to the first row). Guarding the clear fixes the highlight not reappearing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
a9228b9021
commit
bb54cd034f
3 changed files with 13 additions and 1 deletions
|
|
@ -3649,6 +3649,15 @@ impl OpenCADStudio {
|
|||
self.tabs[i].scene.set_hover_highlight(handle);
|
||||
Task::none()
|
||||
}
|
||||
Message::CycleHoverExit(handle) => {
|
||||
// Only clear if another row hasn't already taken the highlight;
|
||||
// enter/exit can fire out of order when moving between rows.
|
||||
let i = self.active_tab;
|
||||
if self.tabs[i].scene.hover_highlight == Some(handle) {
|
||||
self.tabs[i].scene.set_hover_highlight(None);
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
Message::CycleCancel => {
|
||||
self.cycle_candidates = None;
|
||||
self.tabs[self.active_tab].scene.set_hover_highlight(None);
|
||||
|
|
|
|||
Loading…
Reference in a new issue