QtQml: Fix const correctness in old style casts
authorThiago Macieira <thiago.macieira@intel.com>
Sat, 7 Mar 2015 22:35:47 +0000 (14:35 -0800)
committerThiago Macieira <thiago.macieira@intel.com>
Thu, 9 Jul 2015 00:12:37 +0000 (00:12 +0000)
Found with GCC's -Wcast-qual.

Change-Id: Ia0aac2f09e9245339951ffff13c958364a2e9859
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
20 files changed:
src/qml/animations/qabstractanimationjob.cpp
src/qml/animations/qcontinuinganimationgroupjob.cpp
src/qml/animations/qparallelanimationgroupjob.cpp
src/qml/animations/qpauseanimationjob.cpp
src/qml/animations/qsequentialanimationgroupjob.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4serialize.cpp
src/qml/jsruntime/qv4typedarray.cpp
src/qml/jsruntime/qv4vme_moth.cpp
src/qml/qml/ftw/qbitfield_p.h
src/qml/qml/ftw/qhashedstring_p.h
src/qml/qml/qqmlcontext.cpp
src/qml/qml/qqmlengine.cpp
src/qml/qml/qqmlmetatype.cpp
src/qml/qml/qqmlproperty.cpp
src/qml/qml/qqmlpropertycache.cpp
src/qml/qml/qqmlvaluetype.cpp
src/qml/qml/qqmlvmemetaobject.cpp
src/qml/qml/qqmlvmemetaobject_p.h
src/qml/util/qqmllistaccessor.cpp

index 7fcf383bcbfe2acceab6055cc591f9819ca3247a..d301c43822ac20b6bc4ff5182e4b97e140c2f988 100644 (file)
@@ -652,7 +652,7 @@ void QAbstractAnimationJob::removeAnimationChangeListener(QAnimationJobChangeLis
 
 void QAbstractAnimationJob::debugAnimation(QDebug d) const
 {
-    d << "AbstractAnimationJob(" << hex << (void *) this << dec << ") state:"
+    d << "AbstractAnimationJob(" << hex << (const void *) this << dec << ") state:"
       << m_state << "duration:" << duration();
 }
 
index c77448f153e716182bdb459aaef04560e9e8541e..88005baf12eac13432877d9b99808229032c90ce 100644 (file)
@@ -115,7 +115,7 @@ void QContinuingAnimationGroupJob::uncontrolledAnimationFinished(QAbstractAnimat
 
 void QContinuingAnimationGroupJob::debugAnimation(QDebug d) const
 {
-    d << "ContinuingAnimationGroupJob(" << hex << (void *) this << dec << ")";
+    d << "ContinuingAnimationGroupJob(" << hex << (const void *) this << dec << ")";
 
     debugChildren(d);
 }
index 0153794d6fc07bfab20bfe6f285f85b024daf767..fe56f2b1e8b7e68f83f5ff5ada4de77dbca9b94b 100644 (file)
@@ -233,7 +233,7 @@ void QParallelAnimationGroupJob::uncontrolledAnimationFinished(QAbstractAnimatio
 
 void QParallelAnimationGroupJob::debugAnimation(QDebug d) const
 {
-    d << "ParallelAnimationGroupJob(" << hex << (void *) this << dec << ")";
+    d << "ParallelAnimationGroupJob(" << hex << (const void *) this << dec << ")";
 
     debugChildren(d);
 }
index 8e35c58999a28548cd3645fb5fc93d9a2794c1d7..0e95645f4153b268d9da07030f6b54496a5947b0 100644 (file)
@@ -62,7 +62,7 @@ void QPauseAnimationJob::updateCurrentTime(int)
 
 void QPauseAnimationJob::debugAnimation(QDebug d) const
 {
-    d << "PauseAnimationJob(" << hex << (void *) this << dec << ")" << "duration:" << m_duration;
+    d << "PauseAnimationJob(" << hex << (const void *) this << dec << ")" << "duration:" << m_duration;
 }
 
 QT_END_NAMESPACE
index 5060b7f6cd3921e4f1001978c6726f980477fefd..b92caf3bc44fba95aad6deab2b88c6dfd45e812b 100644 (file)
@@ -411,7 +411,7 @@ void QSequentialAnimationGroupJob::animationRemoved(QAbstractAnimationJob *anim,
 
 void QSequentialAnimationGroupJob::debugAnimation(QDebug d) const
 {
-    d << "SequentialAnimationGroupJob(" << hex << (void *) this << dec << ")" << "currentAnimation:" << (void *)m_currentAnimation;
+    d << "SequentialAnimationGroupJob(" << hex << (const void *) this << dec << ")" << "currentAnimation:" << (void *)m_currentAnimation;
 
     debugChildren(d);
 }
index ba6f5a3b79bf64bc6299526e3cb0eee155e513f1..2dbdcfc526fa2c4b439e81d703890bd7efb00a44 100644 (file)
@@ -1447,7 +1447,7 @@ QV4::ReturnedValue QV4::ExecutionEngine::fromVariant(const QVariant &variant)
         QV4::Scope scope(this);
         if (type == qMetaTypeId<QQmlListReference>()) {
             typedef QQmlListReferencePrivate QDLRP;
-            QDLRP *p = QDLRP::get((QQmlListReference*)ptr);
+            QDLRP *p = QDLRP::get((QQmlListReference*)const_cast<void *>(ptr));
             if (p->object) {
                 return QV4::QmlListWrapper::create(scope.engine, p->property, p->propertyType);
             } else {
@@ -1459,7 +1459,7 @@ QV4::ReturnedValue QV4::ExecutionEngine::fromVariant(const QVariant &variant)
         } else if (type == qMetaTypeId<QList<QObject *> >()) {
             // XXX Can this be made more by using Array as a prototype and implementing
             // directly against QList<QObject*>?
-            const QList<QObject *> &list = *(QList<QObject *>*)ptr;
+            const QList<QObject *> &list = *(const QList<QObject *>*)ptr;
             QV4::ScopedArrayObject a(scope, newArrayObject());
             a->arrayReserve(list.count());
             QV4::ScopedValue v(scope);
index e669924d4a4c0d03a5d3dbf1474881764fc14d50..31d85df13e712aec06ee3ce27c53ab8ecd102c1f 100644 (file)
@@ -116,21 +116,21 @@ static inline void reserve(QByteArray &data, int extra)
 
 static inline quint32 popUint32(const char *&data)
 {
-    quint32 rv = *((quint32 *)data);
+    quint32 rv = *((const quint32 *)data);
     data += sizeof(quint32);
     return rv;
 }
 
 static inline double popDouble(const char *&data)
 {
-    double rv = *((double *)data);
+    double rv = *((const double *)data);
     data += sizeof(double);
     return rv;
 }
 
 static inline void *popPtr(const char *&data)
 {
-    void *rv = *((void **)data);
+    void *rv = *((void *const *)data);
     data += sizeof(void *);
     return rv;
 }
@@ -297,7 +297,7 @@ ReturnedValue Serialize::deserialize(const char *&data, ExecutionEngine *engine)
     case WorkerString:
     {
         quint32 size = headersize(header);
-        QString qstr((QChar *)data, size);
+        QString qstr((const QChar *)data, size);
         data += ALIGN(size * sizeof(quint16));
         return QV4::Encode(engine->newString(qstr));
     }
@@ -342,7 +342,7 @@ ReturnedValue Serialize::deserialize(const char *&data, ExecutionEngine *engine)
     {
         quint32 flags = headersize(header);
         quint32 length = popUint32(data);
-        QString pattern = QString((QChar *)data, length - 1);
+        QString pattern = QString((const QChar *)data, length - 1);
         data += ALIGN(length * sizeof(quint16));
         return Encode(engine->newRegExpObject(pattern, flags));
     }
index c355207d947fd965787a8683da718cc81c8c1003..19e541dba8148f4f5189ee9c3706b2fee3e6c49a 100644 (file)
@@ -106,7 +106,7 @@ void UInt8ClampedArrayWrite(ExecutionEngine *e, char *data, int index, const Val
 
 ReturnedValue Int16ArrayRead(const char *data, int index)
 {
-    return Encode((int)*(short *)(data + index));
+    return Encode((int)*(const short *)(data + index));
 }
 
 void Int16ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &value)
@@ -119,7 +119,7 @@ void Int16ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &val
 
 ReturnedValue UInt16ArrayRead(const char *data, int index)
 {
-    return Encode((int)*(unsigned short *)(data + index));
+    return Encode((int)*(const unsigned short *)(data + index));
 }
 
 void UInt16ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &value)
@@ -132,7 +132,7 @@ void UInt16ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &va
 
 ReturnedValue Int32ArrayRead(const char *data, int index)
 {
-    return Encode(*(int *)(data + index));
+    return Encode(*(const int *)(data + index));
 }
 
 void Int32ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &value)
@@ -145,7 +145,7 @@ void Int32ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &val
 
 ReturnedValue UInt32ArrayRead(const char *data, int index)
 {
-    return Encode(*(unsigned int *)(data + index));
+    return Encode(*(const unsigned int *)(data + index));
 }
 
 void UInt32ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &value)
@@ -158,7 +158,7 @@ void UInt32ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &va
 
 ReturnedValue Float32ArrayRead(const char *data, int index)
 {
-    return Encode(*(float *)(data + index));
+    return Encode(*(const float *)(data + index));
 }
 
 void Float32ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &value)
@@ -171,7 +171,7 @@ void Float32ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &v
 
 ReturnedValue Float64ArrayRead(const char *data, int index)
 {
-    return Encode(*(double *)(data + index));
+    return Encode(*(const double *)(data + index));
 }
 
 void Float64ArrayWrite(ExecutionEngine *e, char *data, int index, const Value &value)
index dda5848f0b6ca6143508152defeae65f3a54cce9..390bbf5ee31f52224718797f9ed9c83045ae743b 100644 (file)
@@ -593,7 +593,7 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
     MOTH_END_INSTR(CallGlobalLookup)
 
     MOTH_BEGIN_INSTR(SetExceptionHandler)
-        exceptionHandler = instr.offset ? ((uchar *)&instr.offset) + instr.offset : 0;
+        exceptionHandler = instr.offset ? ((const uchar *)&instr.offset) + instr.offset : 0;
     MOTH_END_INSTR(SetExceptionHandler)
 
     MOTH_BEGIN_INSTR(CallBuiltinThrow)
@@ -727,21 +727,21 @@ QV4::ReturnedValue VME::run(ExecutionEngine *engine, const uchar *code
     MOTH_END_INSTR(ConstructGlobalLookup)
 
     MOTH_BEGIN_INSTR(Jump)
-        code = ((uchar *)&instr.offset) + instr.offset;
+        code = ((const uchar *)&instr.offset) + instr.offset;
     MOTH_END_INSTR(Jump)
 
     MOTH_BEGIN_INSTR(JumpEq)
         bool cond = VALUEPTR(instr.condition)->toBoolean();
         TRACE(condition, "%s", cond ? "TRUE" : "FALSE");
         if (cond)
-            code = ((uchar *)&instr.offset) + instr.offset;
+            code = ((const uchar *)&instr.offset) + instr.offset;
     MOTH_END_INSTR(JumpEq)
 
     MOTH_BEGIN_INSTR(JumpNe)
         bool cond = VALUEPTR(instr.condition)->toBoolean();
         TRACE(condition, "%s", cond ? "TRUE" : "FALSE");
         if (!cond)
-            code = ((uchar *)&instr.offset) + instr.offset;
+            code = ((const uchar *)&instr.offset) + instr.offset;
     MOTH_END_INSTR(JumpNe)
 
     MOTH_BEGIN_INSTR(UNot)
index 0b7d507b117dc9c6f0135c5f7d3e82766ccd6cca..e3b6b0e4980bcb37472844e9527fe703a434a4bf 100644 (file)
@@ -129,15 +129,16 @@ QBitField QBitField::united(const QBitField &o)
         rv.bits = max;
         rv.ownData = new quint32[length + 1];
         *(rv.ownData) = 1;
-        rv.data = rv.ownData + 1;
+        quint32 *rvdata;
+        rv.data = rvdata = rv.ownData + 1;
         if (bits > o.bits) {
-            ::memcpy((quint32 *)rv.data, data, length * sizeof(quint32));
+            ::memcpy(rvdata, data, length * sizeof(quint32));
             for (quint32 ii = 0; ii < (o.bits + quint32(31)) / 32; ++ii)
-                ((quint32 *)rv.data)[ii] |= o.data[ii];
+                (rvdata)[ii] |= o.data[ii];
         } else {
-            ::memcpy((quint32 *)rv.data, o.data, length * sizeof(quint32));
+            ::memcpy(rvdata, o.data, length * sizeof(quint32));
             for (quint32 ii = 0; ii < (bits + quint32(31)) / 32; ++ii)
-                ((quint32 *)rv.data)[ii] |= data[ii];
+                (rvdata)[ii] |= data[ii];
         }
         return rv;
     }
index 6ae2e17267ea9cabc485f9811cd1d5f951310818..d38fd668f3b984862faf0fa85471e76bc5a94a3b 100644 (file)
@@ -252,14 +252,14 @@ public:
     inline bool equals(const QHashedStringRef &string) const {
         return length == string.length() &&
                hash == string.hash() &&
-               (isQString()?QHashedString::compare(string.constData(), (QChar *)utf16Data(), length):
+               (isQString()?QHashedString::compare(string.constData(), (const QChar *)utf16Data(), length):
                             QHashedString::compare(string.constData(), cStrData(), length));
     }
 
     inline bool equals(const QHashedCStringRef &string) const {
         return length == string.length() &&
                hash == string.hash() &&
-               (isQString()?QHashedString::compare((QChar *)utf16Data(), string.constData(), length):
+               (isQString()?QHashedString::compare((const QChar *)utf16Data(), string.constData(), length):
                             QHashedString::compare(string.constData(), cStrData(), length));
     }
 };
index f08f6509137cfdb91a3da626dc02b791be77df78..fb51bad3a7c89522b079ee44e51c626088ee1a3b 100644 (file)
@@ -783,7 +783,7 @@ QString QQmlContextData::findObjectId(const QObject *obj) const
     if (publicContext) {
         QQmlContextPrivate *p = QQmlContextPrivate::get(publicContext);
         for (int ii = 0; ii < p->propertyValues.count(); ++ii)
-            if (p->propertyValues.at(ii) == QVariant::fromValue((QObject *)obj))
+            if (p->propertyValues.at(ii) == QVariant::fromValue(const_cast<QObject *>(obj)))
                 return properties.findId(ii);
     }
 
index 8cf3d2064d482d14490f74f1cce8c2cc1876ef6c..1f27e4ecb35e45da3bc83bb81f660c3db96536e7 100644 (file)
@@ -2228,7 +2228,7 @@ QObject *QQmlEnginePrivate::toQObject(const QVariant &v, bool *ok) const
     int t = v.userType();
     if (t == QMetaType::QObjectStar || m_compositeTypes.contains(t)) {
         if (ok) *ok = true;
-        return *(QObject **)(v.constData());
+        return *(QObject *const *)(v.constData());
     } else {
         return QQmlMetaType::toQObject(v, ok);
     }
index 2f7834fa41590043b98a960a22dce82949895741..41d44a821a0a38c806432f2f9f9b852954989957 100644 (file)
@@ -1508,7 +1508,7 @@ QObject *QQmlMetaType::toQObject(const QVariant &v, bool *ok)
 
     if (ok) *ok = true;
 
-    return *(QObject **)v.constData();
+    return *(QObject *const *)v.constData();
 }
 
 bool QQmlMetaType::isQObject(int userType)
index ae452b727ec95224cdbd3b730e0d90e435e06081..800f6500757409cea95780642229b5a1f3adc3df 100644 (file)
@@ -1304,12 +1304,12 @@ bool QQmlPropertyPrivate::write(QObject *object,
         QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, argv);
     } else if (variantType == propertyType) {
 
-        void *a[] = { (void *)value.constData(), 0, &status, &flags };
+        void *a[] = { const_cast<void *>(value.constData()), 0, &status, &flags };
         QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a);
 
     } else if (qMetaTypeId<QVariant>() == propertyType) {
 
-        void *a[] = { (void *)&value, 0, &status, &flags };
+        void *a[] = { const_cast<QVariant *>(&value), 0, &status, &flags };
         QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a);
 
     } else if (property.isQObject()) {
@@ -1319,7 +1319,7 @@ bool QQmlPropertyPrivate::write(QObject *object,
         if (valMo.isNull())
             return false;
 
-        QObject *o = *(QObject **)value.constData();
+        QObject *o = *(QObject *const *)value.constData();
         QQmlMetaObject propMo = rawMetaObjectForType(enginePriv, propertyType);
 
         if (o) valMo = o;
@@ -1465,7 +1465,7 @@ bool QQmlPropertyPrivate::write(QObject *object,
         }
 
         if (ok) {
-            void *a[] = { (void *)v.constData(), 0, &status, &flags};
+            void *a[] = { const_cast<void *>(v.constData()), 0, &status, &flags};
             QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a);
         } else {
             return false;
@@ -1603,7 +1603,7 @@ bool QQmlPropertyPrivate::writeBinding(QObject *object,
         const char *propertyType = 0;
 
         if (value.userType() == QMetaType::QObjectStar) {
-            if (QObject *o = *(QObject **)value.constData()) {
+            if (QObject *o = *(QObject *const *)value.constData()) {
                 valueType = o->metaObject()->className();
 
                 QQmlMetaObject propertyMetaObject = rawMetaObjectForType(QQmlEnginePrivate::get(engine), type);
index dd1f93ec00b808d82a778c2379697702f0fa876c..0018275b95ced7b4183986162bda636f39d64c15 100644 (file)
@@ -271,7 +271,7 @@ QQmlPropertyCache::~QQmlPropertyCache()
     stringCache.clear();
     if (_parent) _parent->release();
 
-    if (_ownMetaObject) free((void *)_metaObject);
+    if (_ownMetaObject) free(const_cast<QMetaObject *>(_metaObject));
     _metaObject = 0;
     _parent = 0;
     engine = 0;
index b1472660807f29822ef3dde1364c0fda6f424e84..10eaae0c77234d925ab62f49d00b1d3fabdf6507 100644 (file)
@@ -202,7 +202,7 @@ QQmlValueType::~QQmlValueType()
     QObjectPrivate *op = QObjectPrivate::get(this);
     Q_ASSERT(op->metaObject == this);
     op->metaObject = 0;
-    ::free((void*)_metaObject);
+    ::free(const_cast<QMetaObject *>(_metaObject));
     metaType.destroy(gadgetPtr);
 }
 
index 5b1be158698f15e56bd39d86a25394d4e92b3ac8..97fc382c337492efd120e626f173dae1ac23aeaa 100644 (file)
@@ -772,7 +772,7 @@ int QQmlVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void **a)
                             int listIndex = data[id].asInt();
                             const List *list = &listProperties.at(listIndex);
                             *reinterpret_cast<QQmlListProperty<QObject> *>(a[0]) =
-                                QQmlListProperty<QObject>(object, (void *)list,
+                                QQmlListProperty<QObject>(object, const_cast<List *>(list),
                                                                   list_append, list_count, list_at,
                                                                   list_clear);
                         }
@@ -1090,7 +1090,7 @@ void QQmlVMEMetaObject::writeProperty(int id, const QVariant &value)
     } else {
         bool needActivate = false;
         if (value.userType() == QMetaType::QObjectStar) {
-            QObject *o = *(QObject **)value.data();
+            QObject *o = *(QObject *const *)value.data();
             needActivate = (data[id].dataType() != QMetaType::QObjectStar || data[id].asQObject() != o);
             data[id].setValue(o, this, id);
         } else {
index d0e2e34ff1b87d382a3d992f02bcf8eea8ce3594..f3048d426a04f62ab9a4f7ff9357c5f0c533f34c 100644 (file)
@@ -119,7 +119,7 @@ struct QQmlVMEMetaData
     };
 
     PropertyData *propertyData() const {
-        return (PropertyData *)(((const char *)this) + sizeof(QQmlVMEMetaData));
+        return (PropertyData *)(((char *)const_cast<QQmlVMEMetaData *>(this)) + sizeof(QQmlVMEMetaData));
     }
 
     AliasData *aliasData() const {
index 55b745ab6d27ae48035e2ffe42fd11a7404c82d4..bebab80d28dc27fc00340c01a63445394c637f07 100644 (file)
@@ -96,7 +96,7 @@ int QQmlListAccessor::count() const
     case VariantList:
         return qvariant_cast<QVariantList>(d).count();
     case ListProperty:
-        return ((QQmlListReference *)d.constData())->count();
+        return ((const QQmlListReference *)d.constData())->count();
     case Instance:
         return 1;
     case Integer:
@@ -116,7 +116,7 @@ QVariant QQmlListAccessor::at(int idx) const
     case VariantList:
         return qvariant_cast<QVariantList>(d).at(idx);
     case ListProperty:
-        return QVariant::fromValue(((QQmlListReference *)d.constData())->at(idx));
+        return QVariant::fromValue(((const QQmlListReference *)d.constData())->at(idx));
     case Instance:
         return d;
     case Integer: