Details
-
Bug
-
Resolution: Invalid
-
P3: Somewhat important
-
4.8.5, 5.2.1
-
None
-
Qt 4.8.5 and 5.2.1
Mac OS 10.6, 10.8, 10.9
Description
Step to reproduce with attached application.
1. Run app.
2. Open non-modal window by clicking in Main Window on button "Show NonModal Window".
3. Open second non-modal window by clicking in Main Window on button "Show NonModalWindow".
4. Open Window Modal message box by clicking on button "Show a WindowModal MessageBox" in first opened non modal window.
5. Open second Window Modal message box by clicking on button "Show a WindowModal MessageBox" in second opened non modal window.
6. Dismiss first Window Modal message box by clicking on "OK" button.
Result:
Dialog with "Accept" button is not shown (exec() does not return).
It will show only when second Window Modal Message box is dismissed.
Expected:
Dialog with "Accept" button is shown right after "OK" button is clicked on first Window Modal message box.
I have been investigating this a bit and it looks like problem is that when [NSApp stop:NSApp] is called in processPostedEvents then second QEventLoop is waken up and as this is not the one that is interrupted it goes again to [NSApp run] blocking first QEventLoop from waking up...