OSDN Git Service

use plain integer in QMetaTypeId<T>::qt_metatype_id() lazy initializer
authorIvailo Monev <xakepa10@gmail.com>
Wed, 6 Jan 2021 12:58:15 +0000 (14:58 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Wed, 6 Jan 2021 13:02:59 +0000 (15:02 +0200)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/core/kernel/qmetatype.h

index 631bb26..bcb7d52 100644 (file)
 #ifndef QMETATYPE_H
 #define QMETATYPE_H
 
-#include <QtCore/qatomic.h>
-
 #ifndef QT_NO_DATASTREAM
 #include <QtCore/qdatastream.h>
+#else
+#include <QtCore/qglobal.h>
 #endif
 
 #ifdef Bool
@@ -237,10 +237,9 @@ inline int qRegisterMetaTypeStreamOperators()
         enum { Defined = 1 };                                           \
         static int qt_metatype_id()                                     \
             {                                                           \
-                static QAtomicInt metatype_id = QAtomicInt(0); \
-                if (!metatype_id)                                       \
-                    metatype_id = qRegisterMetaType< TYPE >(#TYPE,      \
-                               reinterpret_cast< TYPE *>(quintptr(-1))); \
+                static int metatype_id =                                \
+                    qRegisterMetaType< TYPE >(#TYPE,                    \
+                    reinterpret_cast< TYPE *>(quintptr(-1)));           \
                 return metatype_id;                                     \
             }                                                           \
     };                                                                  \