Copy link to clipboard
Copied
On MacOS:
When a Dialog shows (tested with SDK Dialogs since that was easier to reproduce), while the user has the Menu bar opened (actively clicked and browsing through the menu), somehow the whole window management and Lr Dialogs no longer get mouse clicks. You can not activate / click on any of the menu options anymore. Also the Buttons in the dialog are not clickable anymore. Only keyboard input (entering text into input fields or pressing Return on the keyboard for the default ok) still works.
How to reproduce: run the following code snippet:
local LrTasks = import "LrTasks"
local LrDialogs = import "LrDialogs"
local LrView = import "LrView"
LrTasks.startAsyncTask(function()
-- give the user some time to open the menu
LrTasks.sleep(2)
LrDialogs.message(
"Open the Menu (e.g. by clicking on File in the menu bar, before this dialog opens and keep the menu open).\nNow you can't click the ok button in the dialog or any menu option anymore\n(only pressing Return on the keyboard gets you out of this dialog).")
-- give the user some time to open the menu
LrTasks.sleep(2)
local f = LrView.osFactory()
LrDialogs.presentModalDialog({
title = "Same for modal dialogs",
contents = f:row{f:static_text{
title = "Hello World"
}, f:edit_field{
value = "writing here still works, but not clicking"
}, f:push_button{
title = "button",
action = function()
LrDialogs.message("This button also does not work")
end
}}
})
end)
This waits for 2 seconds before a dialog is shown. Withing those 2 seconds, click on the Menubar (eg. press File -> ) and keep the menu open until the dialog shows.
As soon as the dialog pops up, you cannot click any of the menu options anymore and you also cannot click the ok button of the dialog.
(press Return on the keyboard will still work and close the dialog, furtunately)
To check if the bug only happens for system message dialogs, the code continues and shows a native LrC dialog after another 2 seconds. So if you again open the menu bar before this dialog shows, you see the same behaviour. Interestingly enough it is still possible to write text into the edit_field, so keyboard input works, only mouse clicks are not recognized anymore.
This seems to be a rather big UI flaw for the user, since LrC seems completely unusable, unless pressing the "ok" action of the dialog via the keyboard.
Copy link to clipboard
Copied
Hmm, I don't observe that misbehavior on my LR 13.1 / Mac OS 14.1 -- the controls on the dialogs continue to work correctly. See the attached screen recording. I wonder what's different between our two configurations.
Which screen mode are you in, using the terminology of the menu command Window > Screen Mode?
Copy link to clipboard
Copied
interesting, so for you the menus do not work anymore, but the dialogs still are clickable? I'm on LrC 13.1, MacOS 14.2.1
Copy link to clipboard
Copied
Tested on other machines with older MacOS (Big Sur and 13.3.1) and can confirm, that there only the menus are not working anymore but the dialog is still clickable.
Will do some further testing to see if i can pinpoint to a specific version or setting, that causes the behaviour.
Copy link to clipboard
Copied
Tested on more Machines. General finding so far:
So it seems the bug already exitsted for longer, but since MacOS 14.2 has gotten more severe.
Copy link to clipboard
Copied
"Menu Options are not clickable ... and therefore menu stays without being able to click it away anymore"
That's my understanding of how modal dialogs are intended to operate: While a modal dialog is open, clicks to any other window are ignored. But I'm not an expert on Mac and Windows UI.
But clearly the modal dialogs shouldn't ignore clicks while a menu is open.
I tested LR 10.4 / Mac OS 14.1, and it behaved the same as what I observed with LR 13.1 / Mac OS 14.1 -- clicks to the menu are ignored while the dialogs are open, but the dialog controls work correctly.
I'll update to Mac OS 14.2.1 and re-test.
Interestingly, I tested on LR 13.1 / Windows 11, and LrDialogs.message() and LrDialogs.presentModalDialog() block (don't open their windows) while a menu from the main menu bar is open. As soon as I close the menu, then the message() and presentmodalDialog() are able to open their dialog windows. So there's no possibility of confusing users.
Copy link to clipboard
Copied
I updated to Mac OS 14.2.1, and now I see the bad behavior of the dialog buttons: The main menu bar responds to mouse movements but not mouse clicks, while the dialog buttons don't respond to clicks. See the attached screen recording.
Sure does look like Mac OS 14.2 introduced a change in behavior that's interfering with LR's modal dialogs.
Copy link to clipboard
Copied
Little addition:
I just updated to the new LrC 13.2 and was a little quick to click into the menu, when the "whats new" screen showed, completely locking up my menu
no matter where i click it stays exactly like this, i can not select any option from the menu or get the menu close by clicking somewhere inside LrC.
Only after switching back and forth some windows and clicking in the menu in other applications it seems to have recovered and the menu is closed.
So generally would probably be good to close the menu when modal dialogs or popups show.
Would be highly appreciated for SDK / plugin dialogs too.