mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-14 03:11:19 +00:00
The filament list groups presets by vendor: hovering a vendor in the main popup opens a side popup with that vendor's materials. On GTK the side popup holds the popup grab, and gtk_main_do_event hands every GDK_SCROLL of the popup chain to the grab widget. GDK names the event for the window under the cursor, so the side popup received the wheel events raised over the main list and consumed them: the main list could not be scrolled while a vendor was hovered. The problem shows on both X11 and Wayland, because the rerouting happens in GTK, not in the compositor. The side popup now inspects the event's GDK window and, when the event belongs to the main popup, replays it there. The replay goes through gtk_propagate_event(GetConnectWidget()): wxGTK connects its mouse handlers to the inner client widget of a popup (a wxPizza child of the outer GtkWindow), so a signal emitted on the outer GtkWindow reaches no handler at all. The widget reference in .claude/skills/orca-wxwidgets records the mechanism and the connect-widget fact.