diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2011-08-31 10:32:41 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-22 20:59:27 +0100 |
commit | 8df589bebca135bd9ba0c7c65c9aba052e2dd637 (patch) | |
tree | 087961028f4f1dc3b12dbcd9c230650cc9c91cda /src/corelib/tools/qlocale.cpp | |
parent | 6cdbfc6f9443d9818792b1a396cf3c13dad5e2f3 (diff) |
Make QLocale not depend on being friends with the global static
Don't assume that the global static is a function. Instead, create a
class that is friends.
Change-Id: I992f4d819b367899b19d95b4983e6b243f0ed932
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib/tools/qlocale.cpp')
-rw-r--r-- | src/corelib/tools/qlocale.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 086ca7bd38..e40917c5d8 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -46,13 +46,6 @@ #include "qglobal.h" -#ifndef QT_NO_SYSTEMLOCALE -QT_BEGIN_NAMESPACE -class QSystemLocale; -static QSystemLocale *QSystemLocale_globalSystemLocale(); -QT_END_NAMESPACE -#endif - #include "qplatformdefs.h" #include "qdatastream.h" @@ -78,7 +71,13 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_SYSTEMLOCALE static QSystemLocale *_systemLocale = 0; -Q_GLOBAL_STATIC_WITH_ARGS(QSystemLocale, QSystemLocale_globalSystemLocale, (true)) +class QSystemLocaleSingleton: public QSystemLocale +{ +public: + QSystemLocaleSingleton() : QSystemLocale(true) {} +}; + +Q_GLOBAL_STATIC(QSystemLocaleSingleton, QSystemLocale_globalSystemLocale) static QLocalePrivate *system_lp = 0; Q_GLOBAL_STATIC(QLocalePrivate, globalLocalePrivate) #endif |