GPU-accelerated UI toolkit (Vulkan)
git clone https://git.lucas.co/cce-ui.git
Fix sticky menubar button highlights on window leave and mouse release
src/backend/window_runner.rs | 8 +++++++-
src/widget/input/button_strip.rs | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/backend/window_runner.rs b/src/backend/window_runner.rs
index adf6c55..b4e229d 100644
--- a/src/backend/window_runner.rs
+++ b/src/backend/window_runner.rs
@@ -1596,7 +1596,13 @@ impl<A: Application> PointerHandler for EngineState<A> {
let _ = themed_pointer.set_cursor(_conn, CursorIcon::Default);
}
}
- PointerEventKind::Leave { .. } => {}
+ PointerEventKind::Leave { .. } => {
+ let mut rebuild = false;
+ self.inner.handle_pointer_move(LogicalPosition::new(-10000.0, -10000.0), &mut rebuild);
+ if rebuild {
+ self.redraw = true;
+ }
+ }
PointerEventKind::Motion { .. } => {
let mut rebuild = false;
self.inner.handle_pointer_move(LogicalPosition::new(lx, ly), &mut rebuild);
diff --git a/src/widget/input/button_strip.rs b/src/widget/input/button_strip.rs
index 0826c59..eab75f6 100644
--- a/src/widget/input/button_strip.rs
+++ b/src/widget/input/button_strip.rs
@@ -290,6 +290,7 @@ impl Element for ButtonStrip {
changed = true;
}
}
+ changed = true;
}
self.pressed_idx = None;
}