From: Manuel Nickschas Date: Thu, 18 Mar 2010 13:12:41 +0000 (+0100) Subject: Don't declare QVariant as a meta type if it's already known X-Git-Tag: 0.6.0~21 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=fea3d6e449325a4b97c98beebe520fe78a4b9415;ds=sidebyside Don't declare QVariant as a meta type if it's already known Prevents a crash with Qt >= 4.7, since this version starts declaring QVariant as a metatype itself. Older versions, for some bizarre reason, didn't. --- diff --git a/src/common/quassel.cpp b/src/common/quassel.cpp index e69d0bd6..bf637984 100644 --- a/src/common/quassel.cpp +++ b/src/common/quassel.cpp @@ -122,7 +122,6 @@ void Quassel::quit() { */ void Quassel::registerMetaTypes() { // Complex types - qRegisterMetaType("QVariant"); qRegisterMetaType("Message"); qRegisterMetaType("BufferInfo"); qRegisterMetaType("NetworkInfo"); @@ -130,7 +129,6 @@ void Quassel::registerMetaTypes() { qRegisterMetaType("Identity"); qRegisterMetaType("Network::ConnectionState"); - qRegisterMetaTypeStreamOperators("QVariant"); qRegisterMetaTypeStreamOperators("Message"); qRegisterMetaTypeStreamOperators("BufferInfo"); qRegisterMetaTypeStreamOperators("NetworkInfo"); @@ -151,6 +149,12 @@ void Quassel::registerMetaTypes() { qRegisterMetaTypeStreamOperators("UserId"); qRegisterMetaTypeStreamOperators("AccountId"); qRegisterMetaTypeStreamOperators("MsgId"); + + // Versions of Qt prior to 4.7 didn't define QVariant as a meta type + if(!QMetaType::type("QVariant")) { + qRegisterMetaType("QVariant"); + qRegisterMetaTypeStreamOperators("QVariant"); + } } void Quassel::setupBuildInfo(const QString &generated) {