summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qcoreapplication.cpp
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@digia.com>2013-09-27 11:14:48 +0200
committerSergio Ahumada <sergio.ahumada@digia.com>2013-09-27 11:15:09 +0200
commit16a36239ab9e9be45a940aeff94f35e29bdeb944 (patch)
treeed6c159f12fa2ff80cf39b97a65eab0546ffe639 /src/corelib/kernel/qcoreapplication.cpp
parente37001aad7f6e4bbad250addba033f1eaf97d566 (diff)
parent00da2e615e89c46affbc130b4df6148785724a23 (diff)
Merge branch 'stable' into dev
Diffstat (limited to 'src/corelib/kernel/qcoreapplication.cpp')
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 1799cf6a24..8617b17419 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -150,15 +150,20 @@ QString QCoreApplicationPrivate::macMenuBarName()
#endif
QString QCoreApplicationPrivate::appName() const
{
- static QString applName;
+ static QBasicMutex applicationNameMutex;
+ QMutexLocker locker(&applicationNameMutex);
+
+ if (applicationName.isNull()) {
#ifdef Q_OS_MAC
- applName = macMenuBarName();
+ applicationName = macMenuBarName();
#endif
- if (applName.isEmpty() && argv[0]) {
- char *p = strrchr(argv[0], '/');
- applName = QString::fromLocal8Bit(p ? p + 1 : argv[0]);
+ if (applicationName.isEmpty() && argv[0]) {
+ char *p = strrchr(argv[0], '/');
+ applicationName = QString::fromLocal8Bit(p ? p + 1 : argv[0]);
+ }
}
- return applName;
+
+ return applicationName;
}
#endif