Don't use QByteArrayLiteral for a non-stored QByteArray
authorThiago Macieira <thiago.macieira@intel.com>
Wed, 18 Apr 2012 12:47:32 +0000 (14:47 +0200)
committerQt by Nokia <qt-info@nokia.com>
Thu, 19 Apr 2012 11:26:51 +0000 (13:26 +0200)
Unless you're creating a QByteArray that you will store, don't use
QByteArrayLiteral. Using it for 1 byte that is always concatenated to
something else is an extreme waste.

Change-Id: Icc29e4c4cb1d0aad1714bdeec8ff41da7c301af9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
src/corelib/kernel/qmetatype.h

index 14f3490..66e1dd2 100644 (file)
@@ -574,7 +574,7 @@ struct QMetaTypeIdQObject<T*, /* isPointerToTypeDerivedFromQObject */ true>
     {
         static QBasicAtomicInt metatype_id = Q_BASIC_ATOMIC_INITIALIZER(0);
         if (!metatype_id.load())
-            metatype_id.storeRelease(qRegisterMetaType<T*>(QByteArray(T::staticMetaObject.className() + QByteArrayLiteral("*")).constData(),
+            metatype_id.storeRelease(qRegisterMetaType<T*>(QByteArray(T::staticMetaObject.className() + QByteArray("*")).constData(),
                         reinterpret_cast<T**>(quintptr(-1))));
         return metatype_id.loadAcquire();
     }