git.lucas.co / cce-ui
GPU-accelerated UI toolkit (Vulkan)
git clone https://git.lucas.co/cce-ui.git

commit34960a1b283010f82c65d675383997e8f11d47fc
parent29aede6f59
authorLucas Galante <[email protected]>
date2026-06-25 15:15
Register Paginator internal sidebar_menu and pages in widget_registry to prevent window-drag swallowing on sidebar click

 src/widget/container/paginator.rs | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/widget/container/paginator.rs b/src/widget/container/paginator.rs
index a39faeb..9b9a943 100644
--- a/src/widget/container/paginator.rs
+++ b/src/widget/container/paginator.rs
@@ -288,6 +288,15 @@ impl Element for Paginator {
     }
 
     fn tick(&mut self, dt: f32, ctx: &mut UiContext) -> bool {
+        // Register internal children in the widget registry so hit tests correctly block dragging and reach buttons
+        let menu_ptr = &mut self.sidebar_menu as *mut ButtonStrip;
+        ctx.register_widget(self.sidebar_menu.base.id(), menu_ptr);
+
+        for plate in &mut self.pages {
+            let plate_ptr = plate as *mut Page;
+            ctx.register_widget(plate.base.base.id(), plate_ptr);
+        }
+
         let mut changed = false;
         if self.sidebar_menu.tick(dt, ctx) {
             changed = true;