Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
5.0.0 Beta 1
-
ed8dec360c18e77ee60849e3a74fbd27501d2b4a
Description
Qt 5 differs in behaviour from Qt 4 in that it does no longer tolerate errors in dialog creation. This shows up in Qt Creator in various places:
1) [Workaround pending] Start new project wizard , click "Manage Kits..." on the Qt setup page. Settings dialogs opens and locks up. Reason: 2 modal dialogs constructed on MainWindow, fix pending: https://codereview.qt-project.org/34666.
2) [Fixed] Run the "Add device" wizard from the device settings page. After pressing "Finish", a log window appears and locks up. Reason: Dialog constructed on no longer visible parent (dialog after exec()). Fixed in Creator with 41a7d1c6248f2238a724856c17ebcbfba0614fa6 .
3) [Pending] Linux only (e.g. FVWM, Ratposion) QTBUG-27039: Start Creator, open editor. Open settings dialog. "Touch" the file. Dialog asking to reload opens (while settings dialog is open), locks up. This is apparently a different issue; Qt Creator has logic in src/plugins/coreplugin/documentmanager.cpp: checkForReload() to prevent the 2 dialogs from opening at the same time as long as the active window is not the main window. It seems that this logic fails with some window managers (that do not honor MWM_INPUT_FULL_APPLICATION_MODAL). The mainwindow receives focus in/out as the mouse is moved despite a modal dialog being open on it and thus becomes active. The lockup is then probably related to 1). Workaround hack at https://codereview.qt-project.org/#change,34671 or, (bringing back code from 4.8) https://codereview.qt-project.org/#change,34709. Not sure what to do here. Maybe FVWM is just too broken?
Note: Having two modal dialogs did not work in Qt 4.8: QTBUG-6381
Attachments
For Gerrit Dashboard: QTBUG-27206 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
34671,2 | WIP: Prevent activation of windows that are blocked from modal windows. | master | qt/qtbase | Status: ABANDONED | -1 | 0 |
35316,1 | Fixed multiple modal windows from all blocking each other. | master | qt/qtbase | Status: MERGED | +2 | 0 |