diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2013-09-05 11:00:25 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-05 13:01:39 +0200 |
commit | d1a8623ecb4ef9f9942873503af7eb21a420ec7e (patch) | |
tree | e48894bd4d2c966830613fdd0b93f35334351a7b /src/corelib/kernel/qmetatype.cpp | |
parent | cc594d2064799f09f8d60981f75354745d98c717 (diff) |
QVariant: Don't crash when doing user-defined conversion to QObject*
The destructor of the ConverterFunctor calls unregisterConverter. If
the instance is static (as it is in qmetatype.h), then this method
can be called after the QGlobalStatic has already been destroyed.
Change-Id: I33b70734cbe09dfa888e887280c349e43ad1b855
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/kernel/qmetatype.cpp')
-rw-r--r-- | src/corelib/kernel/qmetatype.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index 586d6cf29f..17fbbda720 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -558,6 +558,8 @@ bool QMetaType::registerConverterFunction(const QtPrivate::AbstractConverterFunc */ void QMetaType::unregisterConverterFunction(int from, int to) { + if (customTypesConversionRegistry.isDestroyed()) + return; customTypesConversionRegistry()->remove(from, to); } |