summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication.cpp
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-05-24 07:29:32 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-05-24 07:29:32 (GMT)
commit803ac286afd47de44359d66b9c711f0b03780f36 (patch)
treea52007ad0e432f107e30116f1857a9ebcb8cb942 /src/gui/kernel/qapplication.cpp
parent2e2ce693e16899dcfd1f39374a78bf2ca3a0e016 (diff)
parent2fa76dc524b97590e554f0f86e6e8c58b6396d51 (diff)
downloadQt-803ac286afd47de44359d66b9c711f0b03780f36.zip
Qt-803ac286afd47de44359d66b9c711f0b03780f36.tar.gz
Qt-803ac286afd47de44359d66b9c711f0b03780f36.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (39 commits) fix typo in documentation Improve Bearer Management related documentation in QNetworkAccessManager Compile with QT_NO_ACTION. Unbreak compilation outside Mac QDBusAbstractInterface: don't set lastError outside the object's own thread tst_bic: make it possible to test for cross-compilation Remove Q_PACKED from QChar and QLocale::Data. QDebug operator for QFlags Removing unneeded qDebug statement. Fixing incorrect addition of public API symbols. Removal erroneous inclusion of new Public API in qmacstyle. Doc: design changes qdoc: Fixed html error, but the problem is still there. qdoc: Changed number of columns to 1. Oila! Doc: Changes to the HTMLGenerator, style and js remove dead code that will never get called. add bytes and activeTime to corelwan. Fix formating of license header. fix irix build clarify wording of warning message ...
Diffstat (limited to 'src/gui/kernel/qapplication.cpp')
-rw-r--r--src/gui/kernel/qapplication.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 7b62de1..b805a72 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -2218,15 +2218,17 @@ void QApplication::closeAllWindows()
{
bool did_close = true;
QWidget *w;
- while((w = activeModalWidget()) && did_close) {
- if(!w->isVisible())
+ while ((w = activeModalWidget()) && did_close) {
+ if (!w->isVisible() || w->data->is_closing)
break;
did_close = w->close();
}
QWidgetList list = QApplication::topLevelWidgets();
for (int i = 0; did_close && i < list.size(); ++i) {
w = list.at(i);
- if (w->isVisible() && w->windowType() != Qt::Desktop) {
+ if (w->isVisible()
+ && w->windowType() != Qt::Desktop
+ && !w->data->is_closing) {
did_close = w->close();
list = QApplication::topLevelWidgets();
i = -1;