Работал на 4.5.1
Написал вот это:
void fillPluginParameters()
{
shared::params->insert("database",qVariantFromValue((QObject *)&shared::database));
shared::params->insert("core",qVariantFromValue((QObject *)shared::Core));
shared::params->insert("localdb",qVariantFromValue((QObject *)&shared::LocalDB));
qDebug()<< shared::params->value("database");
qDebug()<< shared::params->value("core");
qDebug()<< shared::params->value("LocalDB");
}
Все работало прекрасно
Першел на 4.6.0 (скопмилилось нормально) но на строке
qDebug()<< shared::params->value("database");
Вылетает по SIGSEGV
Отследил до кода:
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const QVariant &v)
{
#ifndef Q_BROKEN_DEBUG_STREAM
dbg.nospace() << "QVariant(" << v.typeName() << ", ";
QVariant::handler->debugStream(dbg, v);
dbg.nospace() << ')';
return dbg.space();
#else
qWarning("This compiler doesn't support streaming QVariant to QDebug");
return dbg;
Q_UNUSED(v);
#endif
}
Вылетаэт на
QVariant::handler->debugStream(dbg, v);
Собсно вопрос: Что делать и кто виноват?