Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.2, 5.12.3, 5.12.4, 5.13.0
-
-
f4889e63c7b7629f9c25f42ba6c8b7852b91366f (qt/qtbase/5.15.0)
Description
If there is an application modal dialog, and that dialog launches a child application modal dialog, that child dialog can stack underneath its parent dialog. While it's underneath its parent dialog, you cannot interact with the parent dialog. In Qt 5.12.1 and earlier versions, a child application modal dialog can not stack underneath its parent dialog.
Attached a sample program. In that test case an MainWindow will open.
1. Click the "Open Application Modal Dialog". This will launch a child(to the mainwindow) application modal dialog.
2. In that dialog, click the "Open level 1 Application Modal Dialog" button. This will launch a child(to the first dialog) application modal dialog.
3. Now click on the first dialog. It'll stack ABOVE its child dialog, as you cannot interact with it. You have to find the child dialog behind the parent and close it before you can interact with the parent again.
This is a huge issue for a large application where modal dialog will launch several smaller child application modal dialogs. If the user then clicks on the parent dialog, the child dialog is lost behind the parent. But the user cannot interact with the parent dialog since the child is application modal. The application then appears frozen to the user.
Attachments
Issue Links
- relates to
-
QTBUG-47526 Nested Modal Dialogs running on Mac OS can get wrong Z-Order
- Closed
-
QTBUG-53492 Mac: non-modal QWindow called from application-modal QDialog is inoperable
- Closed