From 74700493c33bf8acc2973a6d151be209fd606655 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Thu, 13 Sep 2018 16:32:13 +0200 Subject: Doc: Remove extra \a command causing QDoc macro expansion error Change-Id: I453a68a579e4fd519616cd1a9f934501b01ef44c Reviewed-by: Martin Smith --- src/corelib/kernel/qmetatype.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/corelib/kernel') diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index 82952919dd..eb67544f21 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -1058,7 +1058,7 @@ int QMetaType::registerType(const char *typeName, Deleter deleter, \internal \since 5.12 - Registers a user type for marshalling, with \a typeName, a \a + Registers a user type for marshalling, with \a typeName, a \a destructor, a \a constructor, and a \a size. Returns the type's handle, or -1 if the type could not be registered. */ -- cgit v1.2.3 From 6ff862a6821112ede25a7a2da646ca279812ed50 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 12 Sep 2018 21:01:04 +0200 Subject: Fix binary compatibility with old generated moc files Commit 1c623bc6d1c0a7ca52d81ca72c64f36898b3e12c introduced a new QMetaObject revision, which change the size of the QMetaEnum data. When looking up QMetaEnum in a QMetaObject, this size need to be checked for every different QMEtaObject from the hierarchy, not just the first one. Change-Id: I6f0d3982329822e15e284aef9b141d4c9ab351b9 Reviewed-by: David Faure Reviewed-by: Thiago Macieira Reviewed-by: Allan Sandfeld Jensen --- src/corelib/kernel/qmetaobject.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/corelib/kernel') diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 6c17535f07..a6ee12ede1 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -970,9 +970,9 @@ static const QMetaObject *QMetaObject_findMetaObject(const QMetaObject *self, co int QMetaObject::indexOfEnumerator(const char *name) const { const QMetaObject *m = this; - const int intsPerEnum = priv(m->d.data)->revision >= 8 ? 5 : 4; while (m) { const QMetaObjectPrivate *d = priv(m->d.data); + const int intsPerEnum = d->revision >= 8 ? 5 : 4; for (int i = d->enumeratorCount - 1; i >= 0; --i) { const char *prop = rawStringData(m, m->d.data[d->enumeratorData + intsPerEnum * i]); if (name[0] == prop[0] && strcmp(name + 1, prop + 1) == 0) { @@ -986,6 +986,7 @@ int QMetaObject::indexOfEnumerator(const char *name) const m = this; while (m) { const QMetaObjectPrivate *d = priv(m->d.data); + const int intsPerEnum = d->revision >= 8 ? 5 : 4; for (int i = d->enumeratorCount - 1; i >= 0; --i) { const char *prop = rawStringData(m, m->d.data[d->enumeratorData + intsPerEnum * i + 1]); if (name[0] == prop[0] && strcmp(name + 1, prop + 1) == 0) { -- cgit v1.2.3