Don't check the Qt version across modules in -developer-build

Instead of enforcing the check, we'll simply trust developers to do the
right thing. For one, it's useful to mix libraries during testing
(regression testing, git bisects, etc.). For another, Qt developers are
faced day-to-day with binary incompatibility issues anyway, so this
check is mostly superfluous.

If there's one commit we could be sure that isn't breaking binary
compatibility, that's the "Bump Qt version" commit. And yet that's the
one that would cause the fatal to trip...

Change-Id: I8965f764a6ca1b2d125b42bce7ac6b27e3afc8ac
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
Thiago Macieira 2013-12-03 23:25:27 -08:00 committed by The Qt Project
parent 8be546d107
commit 5bf67f5f41

View File

@ -194,9 +194,15 @@ QMetaObject *QObjectData::dynamicMetaObject() const
QObjectPrivate::QObjectPrivate(int version)
: threadData(0), connectionLists(0), senders(0), currentSender(0), currentChildBeingDeleted(0)
{
#ifdef QT_BUILD_INTERNAL
// Don't check the version parameter in internal builds.
// This allows incompatible versions to be loaded, possibly for testing.
Q_UNUSED(version);
#else
if (version != QObjectPrivateVersion)
qFatal("Cannot mix incompatible Qt library (version 0x%x) with this library (version 0x%x)",
version, QObjectPrivateVersion);
#endif
// QObjectData initialization
q_ptr = 0;