Git commit 5af8007f1e6a81e63b33ccaebb79ed4babfae0ae by Albert Astals Cid. Committed on 14/03/2013 at 16:37. Pushed by aacid into branch 'frameworks'. SOLID_GLOBAL_STATIC -> Q_GLOBAL_STATIC REVIEW: 109483 M +1 -1 tier1/solid/src/solid/backends/fstab/fstabhandling.cpp M +1 -1 tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp M +1 -1 tier1/solid/src/solid/backends/hal/halfstabhandling.cpp M +2 -2 tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp M +2 -2 tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp M +1 -1 tier1/solid/src/solid/devicemanager.cpp M +1 -1 tier1/solid/src/solid/networking.cpp M +1 -1 tier1/solid/src/solid/powermanagement.cpp M +1 -1 tier1/solid/src/solid/predicateparse.cpp M +0 -79 tier1/solid/src/solid/soliddefs_p.h http://commits.kde.org/kdelibs/5af8007f1e6a81e63b33ccaebb79ed4babfae0ae diff --git a/tier1/solid/src/solid/backends/fstab/fstabhandling.cpp b/tier1= /solid/src/solid/backends/fstab/fstabhandling.cpp index e08d922..19a6b39 100644 --- a/tier1/solid/src/solid/backends/fstab/fstabhandling.cpp +++ b/tier1/solid/src/solid/backends/fstab/fstabhandling.cpp @@ -103,7 +103,7 @@ #define FSNAME(var) var.mnt_special #endif = -SOLID_GLOBAL_STATIC(Solid::Backends::Fstab::FstabHandling, globalFstabCach= e) +Q_GLOBAL_STATIC(Solid::Backends::Fstab::FstabHandling, globalFstabCache) = Solid::Backends::Fstab::FstabHandling::FstabHandling() : m_fstabCacheValid(false), diff --git a/tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp b/tier1/= solid/src/solid/backends/fstab/fstabwatcher.cpp index ee64278..519c25c 100644 --- a/tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp +++ b/tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp @@ -29,7 +29,7 @@ = using namespace Solid::Backends::Fstab; = -SOLID_GLOBAL_STATIC(FstabWatcher, globalFstabWatcher) +Q_GLOBAL_STATIC(FstabWatcher, globalFstabWatcher) = #define MTAB "/etc/mtab" #ifdef Q_OS_SOLARIS diff --git a/tier1/solid/src/solid/backends/hal/halfstabhandling.cpp b/tier= 1/solid/src/solid/backends/hal/halfstabhandling.cpp index 3a6488d..2c05026 100644 --- a/tier1/solid/src/solid/backends/hal/halfstabhandling.cpp +++ b/tier1/solid/src/solid/backends/hal/halfstabhandling.cpp @@ -43,7 +43,7 @@ #endif = typedef QMultiHash QStringMultiHash; -SOLID_GLOBAL_STATIC(QStringMultiHash, globalMountPointsCache) +Q_GLOBAL_STATIC(QStringMultiHash, globalMountPointsCache) = QString _k_resolveSymLink(const QString &filename) { diff --git a/tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp b/= tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp index 8eb3588..c069692 100644 --- a/tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp +++ b/tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp @@ -32,8 +32,8 @@ #include "soliddefs_p.h" = typedef QMap ContentTypesCache; -SOLID_GLOBAL_STATIC(ContentTypesCache, cache) -SOLID_GLOBAL_STATIC(QMutex, cacheLock) +Q_GLOBAL_STATIC(ContentTypesCache, cache) +Q_GLOBAL_STATIC(QMutex, cacheLock) = // inspired by http://cgit.freedesktop.org/hal/tree/hald/linux/probing/pro= be-volume.c static Solid::OpticalDisc::ContentType advancedDiscDetect(const QString & = device_file) diff --git a/tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp b= /tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp index 23a4fc1..45ee605 100644 --- a/tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp +++ b/tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp @@ -36,8 +36,8 @@ #include "soliddefs_p.h" = typedef QMap ContentTypesCac= he; -SOLID_GLOBAL_STATIC(ContentTypesCache, cache) -SOLID_GLOBAL_STATIC(QMutex, cacheLock) +Q_GLOBAL_STATIC(ContentTypesCache, cache) +Q_GLOBAL_STATIC(QMutex, cacheLock) = // inspired by http://cgit.freedesktop.org/hal/tree/hald/linux/probing/pro= be-volume.c static Solid::OpticalDisc::ContentType advancedDiscDetect(const QByteArray= & device_file) diff --git a/tier1/solid/src/solid/devicemanager.cpp b/tier1/solid/src/soli= d/devicemanager.cpp index 7510707..fa498b2 100644 --- a/tier1/solid/src/solid/devicemanager.cpp +++ b/tier1/solid/src/solid/devicemanager.cpp @@ -30,7 +30,7 @@ = #include "soliddefs_p.h" = -SOLID_GLOBAL_STATIC(Solid::DeviceManagerStorage, globalDeviceStorage) +Q_GLOBAL_STATIC(Solid::DeviceManagerStorage, globalDeviceStorage) = Solid::DeviceManagerPrivate::DeviceManagerPrivate() : m_nullDevice(new DevicePrivate(QString())) diff --git a/tier1/solid/src/solid/networking.cpp b/tier1/solid/src/solid/n= etworking.cpp index 0b63440..f52da76 100644 --- a/tier1/solid/src/solid/networking.cpp +++ b/tier1/solid/src/solid/networking.cpp @@ -27,7 +27,7 @@ #include "soliddefs_p.h" #include "org_kde_solid_networking_client.h" = -SOLID_GLOBAL_STATIC(Solid::NetworkingPrivate, globalNetworkManager) +Q_GLOBAL_STATIC(Solid::NetworkingPrivate, globalNetworkManager) = Solid::NetworkingPrivate::NetworkingPrivate() : netStatus(Solid::Networking::Unknown), diff --git a/tier1/solid/src/solid/powermanagement.cpp b/tier1/solid/src/so= lid/powermanagement.cpp index 2e6a58f..f239848 100644 --- a/tier1/solid/src/solid/powermanagement.cpp +++ b/tier1/solid/src/solid/powermanagement.cpp @@ -25,7 +25,7 @@ = #include = -SOLID_GLOBAL_STATIC(Solid::PowerManagementPrivate, globalPowerManager) +Q_GLOBAL_STATIC(Solid::PowerManagementPrivate, globalPowerManager) = Solid::PowerManagementPrivate::PowerManagementPrivate() : managerIface("org.freedesktop.PowerManagement", diff --git a/tier1/solid/src/solid/predicateparse.cpp b/tier1/solid/src/sol= id/predicateparse.cpp index 31f8c4f..2393cf3 100644 --- a/tier1/solid/src/solid/predicateparse.cpp +++ b/tier1/solid/src/solid/predicateparse.cpp @@ -51,7 +51,7 @@ struct ParsingData } } = -SOLID_GLOBAL_STATIC(QThreadStorage, = s_parsingData) +Q_GLOBAL_STATIC(QThreadStorage, s_pa= rsingData) = Solid::Predicate Solid::Predicate::fromString(const QString &predicate) { diff --git a/tier1/solid/src/solid/soliddefs_p.h b/tier1/solid/src/solid/so= liddefs_p.h index b1d88e1..0b84d64 100644 --- a/tier1/solid/src/solid/soliddefs_p.h +++ b/tier1/solid/src/solid/soliddefs_p.h @@ -43,83 +43,4 @@ t->Method; \ } = -// -// WARNING!! -// This code uses undocumented Qt API -// Do not copy it to your application! Use only the functions that are her= e! -// Otherwise, it could break when a new version of Qt ships. -// - -/* - * Lame copy of K_GLOBAL_STATIC below, but that's the price for - * being completely kdecore independent. - */ - -namespace Solid -{ - typedef void (*CleanUpFunction)(); - - class CleanUpGlobalStatic - { - public: - Solid::CleanUpFunction func; - - inline ~CleanUpGlobalStatic() { func(); } - }; -} - -#ifdef Q_CC_MSVC -# define SOLID_GLOBAL_STATIC_STRUCT_NAME(NAME) _solid_##NAME##__LINE__ -#else -# define SOLID_GLOBAL_STATIC_STRUCT_NAME(NAME) -#endif - -#define SOLID_GLOBAL_STATIC(TYPE, NAME) SOLID_GLOBAL_STATIC_WITH_ARGS(TYPE= , NAME, ()) - - -#define SOLID_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS) = \ -static QBasicAtomicPointer _solid_static_##NAME =3D Q_BASIC_ATOMIC_= INITIALIZER(0);\ -static bool _solid_static_##NAME##_destroyed; = \ -static struct SOLID_GLOBAL_STATIC_STRUCT_NAME(NAME) = \ -{ = \ - bool isDestroyed() = \ - { = \ - return _solid_static_##NAME##_destroyed; = \ - } = \ - inline operator TYPE*() = \ - { = \ - return operator->(); = \ - } = \ - inline TYPE *operator->() = \ - { = \ - if (!_solid_static_##NAME.load()) { = \ - if (isDestroyed()) { = \ - qFatal("Fatal Error: Accessed global static '%s *%s()' aft= er destruction. " \ - "Defined at %s:%d", #TYPE, #NAME, __FILE__, __LINE_= _); \ - } = \ - TYPE *x =3D new TYPE ARGS; = \ - if (!_solid_static_##NAME.testAndSetOrdered(0, x) = \ - && _solid_static_##NAME.load() !=3D x ) { = \ - delete x; = \ - } else { = \ - static Solid::CleanUpGlobalStatic cleanUpObject =3D { dest= roy }; \ - } = \ - } = \ - return _solid_static_##NAME.load(); = \ - } = \ - inline TYPE &operator*() = \ - { = \ - return *operator->(); = \ - } = \ - static void destroy() = \ - { = \ - _solid_static_##NAME##_destroyed =3D true; = \ - TYPE *x =3D _solid_static_##NAME.load(); = \ - _solid_static_##NAME.store(0); = \ - delete x; = \ - } = \ -} NAME; - - - #endif