diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/image/qpicture.cpp | 16 | ||||
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 6 | ||||
-rw-r--r-- | src/gui/kernel/qtouchdevice.cpp | 10 |
3 files changed, 14 insertions, 18 deletions
diff --git a/src/gui/image/qpicture.cpp b/src/gui/image/qpicture.cpp index f9f96f4f13..089cc5011c 100644 --- a/src/gui/image/qpicture.cpp +++ b/src/gui/image/qpicture.cpp @@ -1425,20 +1425,16 @@ QPictureHandler::QPictureHandler(const char *f, const char *h, const QByteArray& typedef QList<QPictureHandler *> QPHList; Q_GLOBAL_STATIC(QPHList, pictureHandlers) -#ifndef QT_NO_LIBRARY -Q_GLOBAL_STATIC(QMutex, mutex) -Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, factoryLoader, - (QPictureFormatInterface_iid, - QLatin1String("/pictureformats"))) -#endif void qt_init_picture_plugins() { #ifndef QT_NO_LIBRARY - QMutexLocker locker(mutex()); - QFactoryLoader *loader = factoryLoader(); - QStringList keys = loader->keys(); + static QBasicMutex mutex; + QMutexLocker locker(&mutex); + static QFactoryLoader loader(QPictureFormatInterface_iid, + QStringLiteral("/pictureformats")); + QStringList keys = loader.keys(); for (int i = 0; i < keys.count(); ++i) - if (QPictureFormatInterface *format = qobject_cast<QPictureFormatInterface*>(loader->instance(keys.at(i)))) + if (QPictureFormatInterface *format = qobject_cast<QPictureFormatInterface*>(loader.instance(keys.at(i)))) format->installIOHandler(keys.at(i)); #endif } diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 9f7bc24119..a97647f504 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -123,7 +123,7 @@ QList<QScreen *> QGuiApplicationPrivate::screen_list; QWindowList QGuiApplicationPrivate::window_list; QWindow *QGuiApplicationPrivate::focus_window = 0; -Q_GLOBAL_STATIC(QMutex, applicationFontMutex) +static QBasicMutex applicationFontMutex; QFont *QGuiApplicationPrivate::app_font = 0; extern void qRegisterGuiVariant(); @@ -1327,7 +1327,7 @@ void QGuiApplication::setPalette(const QPalette &pal) QFont QGuiApplication::font() { - QMutexLocker locker(applicationFontMutex()); + QMutexLocker locker(&applicationFontMutex); if (!QGuiApplicationPrivate::app_font) QGuiApplicationPrivate::app_font = new QFont(QGuiApplicationPrivate::platformIntegration()->fontDatabase()->defaultFont()); @@ -1336,7 +1336,7 @@ QFont QGuiApplication::font() void QGuiApplication::setFont(const QFont &font) { - QMutexLocker locker(applicationFontMutex()); + QMutexLocker locker(&applicationFontMutex); if (!QGuiApplicationPrivate::app_font) QGuiApplicationPrivate::app_font = new QFont(font); else diff --git a/src/gui/kernel/qtouchdevice.cpp b/src/gui/kernel/qtouchdevice.cpp index bb83fea977..b0543819df 100644 --- a/src/gui/kernel/qtouchdevice.cpp +++ b/src/gui/kernel/qtouchdevice.cpp @@ -177,11 +177,11 @@ void QTouchDevice::setName(const QString &name) typedef QList<QTouchDevice *> TouchDevices; Q_GLOBAL_STATIC(TouchDevices, deviceList) -Q_GLOBAL_STATIC(QMutex, devicesMutex) +static QBasicMutex devicesMutex; static void cleanupDevicesList() { - QMutexLocker lock(devicesMutex()); + QMutexLocker lock(&devicesMutex); qDeleteAll(*deviceList()); deviceList()->clear(); } @@ -193,7 +193,7 @@ static void cleanupDevicesList() */ QList<const QTouchDevice *> QTouchDevice::devices() { - QMutexLocker lock(devicesMutex()); + QMutexLocker lock(&devicesMutex); QList<QTouchDevice *> *devList = deviceList(); QList<const QTouchDevice *> constDevList; for (int i = 0, count = devList->count(); i != count; ++i) @@ -206,7 +206,7 @@ QList<const QTouchDevice *> QTouchDevice::devices() */ bool QTouchDevicePrivate::isRegistered(QTouchDevice *dev) { - QMutexLocker lock(devicesMutex()); + QMutexLocker lock(&devicesMutex); return deviceList()->contains(dev); } @@ -215,7 +215,7 @@ bool QTouchDevicePrivate::isRegistered(QTouchDevice *dev) */ void QTouchDevicePrivate::registerDevice(QTouchDevice *dev) { - QMutexLocker lock(devicesMutex()); + QMutexLocker lock(&devicesMutex); if (deviceList()->isEmpty()) qAddPostRoutine(cleanupDevicesList); deviceList()->append(dev); |