mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-09 00:31:19 +00:00
The Slice-plate hover popup (FilamentGroupPopup, a wxPopupTransientWindow) takes the mouse capture while it is shown, and on macOS its OnIdle handler reacquires that capture whenever the cursor sits outside the popup. If the popup is still shown when the modal filament grouping dialog opens, wx routes every dialog mouse event to the now-hidden popup, because WX_filterSendEvent short-circuits to the capture window while GetCapture() is non-null. The dialog's filament blocks never receive a mouse-down, so they can't be dragged and the whole app looks frozen even though its modal loop is healthy and the keyboard still works. Dismiss the popup synchronously before the dialog opens: Dismiss() hides it and releases the capture, and hiding it stops OnIdle from reacquiring. This is a no-op where the popup is never shown (Linux, where the hover popup is disabled, and any non-dual-nozzle printer).