Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
4.5.3
-
None
-
Windows 7 x64 / Windows XP MS Compilers VS2005 and VS2008 /Qt 4.5.3 and Qt 4.6-rc1
Description
To reproduce this issue:
make the following code change to the examples\dialogs\standarddialogs
void Dialog::informationMessage()
{
QTimer::singleShot(5000,this,SLOT(criticalMessage()));
return;
}
Then recompile and run the program and do the following
1. Click the "QMessageBox::information" button.
2. Immediatly after clicking, right click on the "Standard Dialogs" task bar so you see the task bar menu
3. Wait until the QMessageBox fires
4. Mouse interaction to the program no longer works, you can't click on the buttons in the MessageBox or the entries in the task bar. Alt-Tab works and can select another program, but if you Alt-Tab back, you still can't interact with the MessageBox via the mouse. Navigating with the keyboard arrow keys work, and you can use the space bar or esc to trigger the end of the QMessageBox, but most users won't figure this out.
A workaround has been tried and was successful in resolving the problem but is not formally tested.
To work around: add EndMenu() to enterModal_sys in qapplication_win.cpp
I've written some test code that reproduces this but am seeing lockups unless input is taken from the user. Using Windows API calls to simulate move move and right clicking for triggering the system context menu and for clicking on the modal dialog I was able to get the test to pass with the fixed code. However, the code (without the change referred to earlier) the test seems to pass (but shouldn't).
Autotest code is attached. It needs to be modified to get it to pass/fail under all conditions.
Attachments
Issue Links
- is required for
-
QTCREATORBUG-7586 Qt Creator freezes when trying to close it when a file has been changed and needs reloading
- Closed