Skip to content

Commit d9785e5

Browse files
Gasparokendacap
authored andcommitted
Fix inactive window passes events to window below (#4561, #4835)
Prior to this fix, if all of the following conditions were met: + While a modal window (such as the Preferences dialog) was open. + 'Multiple window UI' was enabled. + A non-modal window (such as the Preview window) overlapped the modal window. + The non-modal window was selected, so this window is on top of the modal window. Caused mouse clicks and movements within the overlay area of ​​the non-modal window to be incorrectly passed to the window below, i.e. the modal window. Instead, it would be expected that no action would be taken. @dacap note: At the moment this fix only works on macOS because the os::WindowSpec::modal() parameter is only used on macOS.
1 parent 4eb09a7 commit d9785e5

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

src/ui/manager.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,6 +1461,7 @@ void Manager::_openWindow(Window* window, bool center)
14611461
spec.minimizable(window->isDesktop());
14621462
spec.borderless(!window->isDesktop());
14631463
spec.transparent(window->isTransparent());
1464+
spec.modal(window->isForeground());
14641465

14651466
if (!window->isDesktop()) {
14661467
spec.parent(parentDisplay->nativeWindow());

0 commit comments

Comments
 (0)