Название: Проблема с QDebug() при переходе с Qt 4.5.1 -> 4.6.0 Отправлено: gigabyte от Март 11, 2010, 23:50 Работал на 4.5.1
Написал вот это: Код: void fillPluginParameters() Першел на 4.6.0 (скопмилилось нормально) но на строке Код: qDebug()<< shared::params->value("database"); Отследил до кода: Код: #ifndef QT_NO_DEBUG_STREAM Код: QVariant::handler->debugStream(dbg, v); Собсно вопрос: Что делать и кто виноват? Название: Re: Проблема с QDebug() при переходе с Qt 4.5.1 -> 4.6.0 Отправлено: whirlwind от Март 12, 2010, 19:06 я бы для начала
Код: QString st = shared::params->value("database"); а то мало ли чего бывает... с 4.5.2 на 4.6.0 переходил, ничего такого не было Название: Re: Проблема с QDebug() при переходе с Qt 4.5.1 -> 4.6.0 Отправлено: Rcus от Март 12, 2010, 19:56 А в 4.5.2 что-то выводилось? По идее различие в том что QVariant::handler->streamDebug в 4.5.2 не обрабатывал QVariant::QObjectStar, поэтому ничего не должно было выводиться. В 4.6.0 добавили вывод через QDebug operator<<(QDebug, const QObject *); поэтому будет падать на невалидных указателях
Название: Re: Проблема с QDebug() при переходе с Qt 4.5.1 -> 4.6.0 Отправлено: gigabyte от Март 12, 2010, 20:42 В 4.5.1 выводилось вот что:
Код: Debug: QVariant(QObject*, ) Название: Re: Проблема с QDebug() при переходе с Qt 4.5.1 -> 4.6.0 Отправлено: Rcus от Март 13, 2010, 20:47 Так ничто и есть :) А указатели то вообще валидные? Потому что даже при нулевых не должно падать.
UPD: Вот еще что подумал... А какой тип то у shared::database, shared::Core и shared::LocalDB, а то C-style касты что-то слегка тревожат. |