[kmail2] [Bug 312460] Kmail can not show correct number of unread mails

Christian Mollekopf mollekopf at kolabsys.com
Mon May 6 20:59:05 BST 2013


https://bugs.kde.org/show_bug.cgi?id=312460

Christian Mollekopf <mollekopf at kolabsys.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mollekopf at kolabsys.com

--- Comment #19 from Christian Mollekopf <mollekopf at kolabsys.com> ---
gdb tells me:
Akonadi::MonitorPrivate::emitItemNotification get's called as it should with
all the right parameters and "emit q_ptr->itemAdded( it, col );" gets called.

The etm receives collectionChanged signals (for for the appropriate monitor
notification), but never the itemAdded signal.

I placed breakpoints in the monitor and the ETM monitoredItemAdded and
monitoredCollectionChanged slots.

Apparently there are two monitors active, where only one is correctly connected
to the ETM:

Breakpoint 6, Akonadi::MonitorPrivate::emitNotification (this=0x274ed90,
msg=...) at /usr/src/debug/kdepimlibs-4.10.2/akonadi/monitor_p.cpp:284
284     {
(gdb) print msg.toString()
$41 = "Item (232497, 20) in collection 403 added"
(gdb) continue
Continuing.

Breakpoint 7, Akonadi::MonitorPrivate::emitItemNotification
(this=this at entry=0x274ed90, msg=..., item=..., collection=...,
collectionDest=...)
    at /usr/src/debug/kdepimlibs-4.10.2/akonadi/monitor_p.cpp:484
484     {
(gdb) continue
Continuing.

Breakpoint 6, Akonadi::MonitorPrivate::emitNotification (this=0x274ed90,
msg=...) at /usr/src/debug/kdepimlibs-4.10.2/akonadi/monitor_p.cpp:284
284     {
(gdb) print msg.toString()
$42 = "Collection (403, /INBOX) in collection 280 modified parts (uidnext)"
(gdb) continue
Continuing.

Breakpoint 5, Akonadi::EntityTreeModelPrivate::monitoredCollectionChanged
(this=0x2818620, collection=...) at
/usr/src/debug/kdepimlibs-4.10.2/akonadi/entitytreemodel_p.cpp:981
981     {
(gdb) print m_monitor
$43 = (Akonadi::ChangeRecorder *) 0x2868280

So it seems the ETM which receives the monitoredCollectionChanged, is connected
to a different Monitor/ChangeRecorder than the one which receives the ItemAdded
notification, and m_monitor is again different from the monitor which actually
fired the signal which seems to say that m_monitor is somehow being reset and
apparently the monitor which receives the ItemAdded notifications fires into
nowhere (although it clearly has a connection to some object, I just don't know
which).

Enough weirdness for the moment, I have to figure out how I can debug the
signals-slots connections.

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list