Em Terça-feira 02 Março 2010, às 15:49:18, Thiago Macieira escreveu: > I'm actually raising the bar here. > > I'm turning on QT_FATAL_WARNINGS by default in Qt debug builds (starting > with Qt 4.7).
After suggesting this to Qt developers, the overwhelming reaction was against it. So there will be no QT_FATAL_WARNINGS enabled by default in Qt. But, as promised, here are the stack traces of the Plasma warnings (the krunner ones are known: the use of KIO outside the main thread). (kdelibs r1098145, kdebase r1098199) -------------- Message: -------------- QDBusObjectPath: invalid path "" Partial backtrace: #3 0xb6118058 in QDBusObjectPath::check (this=0xbfffe4ec) at /home/tmacieir/src/troll/qt-4.7/src/dbus/qdbusextratypes.cpp:50 #4 0xb71cb638 in QDBusObjectPath::operator= (this=0xbfffe4ec, _path=...) at /home/tmacieir/obj/troll/qt-4.6/include/QtDBus/../../../../../src/troll/qt-4.6/src/dbus/qdbusextratypes.h:92 #5 0xb71ccd60 in QDBusReply<QDBusObjectPath>::operator= (this=0xbfffe4dc, reply=...) at /home/tmacieir/obj/troll/qt-4.6/include/QtDBus/../../../../../src/troll/qt-4.6/src/dbus/qdbusreply.h:75 #6 0xb71cca24 in QDBusReply<QDBusObjectPath>::operator= (this=0xbfffe4dc, pcall=...) at /home/tmacieir/obj/troll/qt-4.6/include/QtDBus/../../../../../src/troll/qt-4.6/src/dbus/qdbusreply.h:87 #7 0xb71cc47c in QDBusReply<QDBusObjectPath>::QDBusReply (this=0xbfffe4dc, reply=...) at /home/tmacieir/obj/troll/qt-4.6/include/QtDBus/../../../../../src/troll/qt-4.6/src/dbus/qdbusreply.h:91 #8 0xb722cda9 in getComponent (componentUnique=...) at /home/tmacieir/src/kde4/KDE/kdelibs/kdeui/shortcuts/kglobalaccel.cpp:60 Reason: in the frame 8 above, we have: 60 QDBusReply<QDBusObjectPath> reply = kglobalaccel.getComponent(componentUnique); But the getComponent call returns a QString, not a QDBusObjectPath. -------------- Message: -------------- Object::connect: No such slot SystemTray::Manager::checkIdle() in /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/generic/applets/systemtray/core/manager.cpp:70 Partial backtrace: #4 0xb5f67e72 in QObject::connect (sender=0x84ebc10, signal=0xa6cdbd81 "timeout()", receiver=0x84c57a8, method=0x84c3b08 "checkIdle()", type=AutoConnection) at /home/tmacieir/src/troll/qt-4.7/src/corelib/kernel/qobject.cpp:2579 #5 0xa6cb3d0e in SystemTray::Manager::Manager (this=0x84c57a8) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/generic/applets/systemtray/core/manager.cpp:70 #6 0xa6cce19c in SystemTray::Applet::Applet (this=0x84f6448, parent=0x0, arguments=...) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/generic/applets/systemtray/ui/applet.cpp:81 #7 0xa6cd2609 in KPluginFactory::createInstance<SystemTray::Applet, QObject> (parentWidget=0x0, parent=0x0, args=...) at /home/tmacieir/KDE4-4.6/include/kpluginfactory.h:461 #8 0xb6fb2fe1 in KPluginFactory::create (this=0x8495690, iface=0xb7d7ede0 "Plasma::Applet", parentWidget=0x0, parent=0x0, args=..., keyword= ...) at /home/tmacieir/src/kde4/KDE/kdelibs/kdecore/util/kpluginfactory.cpp:191 #9 0xb7bdbb4a in KPluginFactory::create<Plasma::Applet> (this=0x8495690, parentWidget=0x0, parent=0x0, keyword=..., args=...) at /home/tmacieir/src/kde4/KDE/kdelibs/kdecore/util/kpluginfactory.h:515 -------------- Message: -------------- QGraphicsLinearLayout::removeAt: invalid index 0 Partial backtrace: #3 0xb6a1a996 in QGraphicsLinearLayout::removeAt (this=0x849f5b8, index=0) at /home/tmacieir/src/troll/qt-4.7/src/gui/graphicsview/qgraphicslinearlayout.cpp:330 #4 0xb7c388ab in Plasma::PopupAppletPrivate::popupConstraintsEvent (this=0x8172000, constraints=...) at /home/tmacieir/src/kde4/KDE/kdelibs/plasma/popupapplet.cpp:223 #5 0xb7bcb195 in Plasma::Applet::flushPendingConstraintsEvents (this=0x831ec60) at /home/tmacieir/src/kde4/KDE/kdelibs/plasma/applet.cpp:1252 #6 0xb7bfd408 in Plasma::Corona::loadLayout (this=0x8085cc8, configName=...) at /home/tmacieir/src/kde4/KDE/kdelibs/plasma/corona.cpp:498 #7 0xb7bfc8d3 in Plasma::Corona::initializeLayout (this=0x8085cc8, configName=...) at /home/tmacieir/src/kde4/KDE/kdelibs/plasma/corona.cpp:340 #8 0xb7fc2f97 in PlasmaApp::corona (this=0x8081e08) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/desktop/shell/plasmaapp.cpp:674 #9 0xb7fc5309 in PlasmaApp::setupDesktop (this=0x8081e08) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/desktop/shell/plasmaapp.cpp:276 #10 0xb7fc56c5 in PlasmaApp::qt_metacall (this=0x8081e08, _c=InvokeMetaMethod, _id=10, _a=0xbfffddc0) at /home/tmacieir/obj/kde4/KDE/kdebase/workspace/plasma/desktop/shell/plasmaapp.moc:136 #11 0xb5f54c82 in QMetaObject::metacall (object=0x8081e08, cl=InvokeMetaMethod, idx=37, argv=0xbfffddc0) at /home/tmacieir/src/troll/qt-4.7/src/corelib/kernel/qmetaobject.cpp:237 #12 0xb5f699c8 in QMetaObject::activate (sender=0x8261610, m=0xb60b6360, local_signal_index=0, argv=0x0) at /home/tmacieir/src/troll/qt-4.7/src/corelib/kernel/qobject.cpp:3299 #13 0xb5f72c71 in QSingleShotTimer::timeout (this=0x8261610) at .moc/debug- shared/qtimer.moc:82 Code: 222 if (icon && !icon->icon().isNull() && lay) { 223 lay->removeAt(0); 224 } -------------- Message: (Qt 4.7 debug) -------------- QGraphicsLayout::addChildLayoutItem: Plasma::IconWidget "" in wrong parent; moved to correct parent Partial backtrace: #2 0xb6a17f76 in QGraphicsLayoutPrivate::addChildLayoutItem (this=0x890bd38, layoutItem=0x89a2eb8) at /home/tmacieir/src/troll/qt-4.7/src/gui/graphicsview/qgraphicslayout_p.cpp:170 #3 0xb6a1a6dc in QGraphicsLinearLayout::insertItem (this=0x88fd1d8, index=-1, item=0x89a2eb8) at /home/tmacieir/src/troll/qt-4.7/src/gui/graphicsview/qgraphicslinearlayout.cpp:279 #4 0xb7bd68e1 in QGraphicsLinearLayout::addItem (this=0x88fd1d8, item=0x89a2eb8) at /home/tmacieir/obj/troll/qt-4.6/include/QtGui/../../../../../src/troll/qt-4.6/src/gui/graphicsview/qgraphicslinearlayout.h:68 #5 0xb7c2bbfb in Plasma::ExtenderItemPrivate::updateToolBox (this=0x890b630) at /home/tmacieir/src/kde4/KDE/kdelibs/plasma/extenders/extenderitem.cpp:780 #6 0xb7c29be4 in Plasma::ExtenderItem::addAction (this=0x8993478, name=..., action=0x89b0da0) at /home/tmacieir/src/kde4/KDE/kdelibs/plasma/extenders/extenderitem.cpp:404 #7 0xb7c25a12 in Plasma::ExtenderGroup::ExtenderGroup (this=0x8993478, parent=0x898e178, groupId=0) at /home/tmacieir/src/kde4/KDE/kdelibs/plasma/extenders/extendergroup.cpp:52 #8 0xb101fa4d in Notifications::createJobGroups (this=0x89b2de8) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/generic/applets/notifications/ui/notifications.cpp:386 #9 0xb1020dca in Notifications::configChanged (this=0x89b2de8) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/generic/applets/notifications/ui/notifications.cpp:142 #10 0xb102110d in Notifications::init (this=0x89b2de8) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/generic/applets/notifications/ui/notifications.cpp:126 #11 0xa6cc166b in SystemTray::PlasmoidTask::createWidget (this=0x84fa530, host=0x84f6448) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/plasma/generic/applets/systemtray/protocols/plasmoid/plasmoidtask.cpp:123 The item in question is a Plasma::IconWidget, created in plasma/extenders/extenderitem.cpp:774 as such: 774 IconWidget *icon = new IconWidget(q); Where q is a Plasma::ExtenderGroup. The new parent is a QGraphicsWidget. Neither object have names. -------------- Message: (just a debug, but happens too often) -------------- plasma-desktop(23156)/plasma TaskManager::GroupManagerPrivate::removeTask: invalid item Partial backtrace: #7 0xa6e3595f in TaskManager::GroupManagerPrivate::removeTask (this=0x80e5768, task=...) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/libs/taskmanager/groupmanager.cpp:314 #8 0xa6e36415 in TaskManager::GroupManagerPrivate::actuallyReloadTasks (this=0x80e5768) at /home/tmacieir/src/kde4/KDE/kdebase/workspace/libs/taskmanager/groupmanager.cpp:178 #9 0xa6e36ae6 in TaskManager::GroupManager::qt_metacall (this=0x80f27e8, _c=InvokeMetaMethod, _id=11, _a=0xbfffddc0) at /home/tmacieir/obj/kde4/KDE/kdebase/workspace/libs/taskmanager/groupmanager.moc:106 #10 0xb5f54c82 in QMetaObject::metacall (object=0x80f27e8, cl=InvokeMetaMethod, idx=15, argv=0xbfffddc0) at /home/tmacieir/src/troll/qt-4.7/src/corelib/kernel/qmetaobject.cpp:237 #11 0xb5f699c8 in QMetaObject::activate (sender=0x80e57a0, m=0xb60b7764, local_signal_index=0, argv=0x0) at /home/tmacieir/src/troll/qt-4.7/src/corelib/kernel/qobject.cpp:3299 #12 0xb5fcc21b in QTimer::timeout (this=0x80e57a0) at /home/tmacieir/obj/troll/qt-4.7/src/corelib/.moc/debug- shared/moc_qtimer.cpp:134 The 'item' variable is 0 at frame 7. The task in question is a Konqueror window I have open. There's nothing special about it. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Senior Product Manager - Nokia, Qt Development Frameworks PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel