[Kde-pim] Review Request 108755: akonadi_maildir_resource doesn't work as expected, can anybody help?
Guy Maurel
guy-kde at maurel.de
Sun Feb 3 17:37:03 GMT 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108755/
-----------------------------------------------------------
Review request for KDEPIM, Andras Mantia, Kevin Krammer, and Till Adam.
Description
-------
I implemented a little dump to examine what is happening with the QHash mMaildirsForCollection.
It doesn't work as we could expect.
At the start of /usr/local/bin/akonadi_agent_launcher akonadi_maildir_resource akonadi_maildir_resource_0
we get this:
List of objects of mMaildirsForCollection
+------+------------+----------------------------------------------------------------------------------+
| id | name | remoteId |
+------+------------+----------------------------------------------------------------------------------+
| -5 | local-mail | /home/guy-kde/.local/share/local-mail |
| -6 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
+------+------------+----------------------------------------------------------------------------------+
2 objects
After starting kmail:
List of objects of mMaildirsForCollection
+------+------------+----------------------------------------------------------------------------------+
| id | name | remoteId |
+------+------------+----------------------------------------------------------------------------------+
| -5 | local-mail | /home/guy-kde/.local/share/local-mail |
| -6 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
| -7 | A | /home/guy-kde/.local/share/local-mail/.inbox.directory/A |
| -8 | a1 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a1 |
| -9 | a2 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a2 |
| -10 | a3 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a3 |
+------+------------+----------------------------------------------------------------------------------+
6 objects
All the id are negativ.
This comes because the function:
Collection::List MaildirResource::listRecursive
(file kdepim-runtime/resources/maildir/maildirresource.cpp)
doesn't set the id itself. The default value is set by entity.
This explains why the if at:
Maildir MaildirResource::maildirForCollection( const Collection& col )
...
if ( mMaildirsForCollection.contains( col.id() ) ) {
is never TRUE.
After having some click at some Folder, the correct "id", which is stored in the mysql-database, is found.
List of objects of mMaildirsForCollection
+------+------------+----------------------------------------------------------------------------------+
| id | name | remoteId |
+------+------------+----------------------------------------------------------------------------------+
| 2 | local-mail | /home/guy-kde/.local/share/local-mail |
| 3 | outbox | /home/guy-kde/.local/share/local-mail/outbox |
| -5 | local-mail | /home/guy-kde/.local/share/local-mail |
| 21 | A | /home/guy-kde/.local/share/local-mail/.inbox.directory/A |
| 4 | sent-mail | /home/guy-kde/.local/share/local-mail/sent-mail |
| -6 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
| 22 | a1 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a1 |
| -7 | A | /home/guy-kde/.local/share/local-mail/.inbox.directory/A |
| 23 | a2 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a2 |
| -8 | a1 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a1 |
| 24 | a3 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a3 |
| -9 | a2 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a2 |
| 8 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
| -10 | a3 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a3 |
| -11 | outbox | /home/guy-kde/.local/share/local-mail/outbox |
| -12 | sent-mail | /home/guy-kde/.local/share/local-mail/sent-mail |
+------+------------+----------------------------------------------------------------------------------+
16 objects
BUT, making some more folder-moves, I get:
List of objects of mMaildirsForCollection
+------+------------+----------------------------------------------------------------------------------+
| id | name | remoteId |
+------+------------+----------------------------------------------------------------------------------+
| -223 | a2 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a2 |
| -224 | outbox | /home/guy-kde/.local/share/local-mail/outbox |
| 2 | local-mail | /home/guy-kde/.local/share/local-mail |
| -225 | sent-mail | /home/guy-kde/.local/share/local-mail/sent-mail |
| 3 | outbox | /home/guy-kde/.local/share/local-mail/outbox |
| -5 | local-mail | /home/guy-kde/.local/share/local-mail |
| 4 | sent-mail | /home/guy-kde/.local/share/local-mail/sent-mail |
| -6 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
| -7 | A | /home/guy-kde/.local/share/local-mail/.inbox.directory/A |
| -8 | a1 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a1 |
| -9 | a2 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a2 |
| 8 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
| -10 | a3 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a3 |
| -11 | outbox | /home/guy-kde/.local/share/local-mail/outbox |
| -12 | sent-mail | /home/guy-kde/.local/share/local-mail/sent-mail |
| -277 | local-mail | /home/guy-kde/.local/share/local-mail |
| -278 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
| -279 | A | /home/guy-kde/.local/share/local-mail/.inbox.directory/A |
| -280 | a1 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a1 |
| 21 | A | /home/guy-kde/.local/share/local-mail/.inbox.directory/A |
| -281 | a2 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a2 |
| 22 | a1 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a1 |
| -282 | a3 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a3 |
| 23 | a2 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a2 |
| -283 | outbox | /home/guy-kde/.local/share/local-mail/outbox |
| 24 | a3 | /home/guy-kde/.local/share/local-mail/.inbox.directory/a3 |
| -284 | sent-mail | /home/guy-kde/.local/share/local-mail/sent-mail |
| -218 | local-mail | /home/guy-kde/.local/share/local-mail |
| -219 | inbox | /home/guy-kde/.local/share/local-mail/inbox |
| -220 | A | /home/guy-kde/.local/share/local-mail/.inbox.directory/A |
| -221 | a1 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a1 |
| -222 | a3 | /home/guy-kde/.local/share/local-mail/.inbox.directory/.A.directory/a3 |
+------+------------+----------------------------------------------------------------------------------+
32 objects
I have no solution to solve this.
Can anybody help me?
Thanks.
Diffs
-----
resources/maildir/maildirresource.h b0c595a
resources/maildir/maildirresource.cpp df989c1
Diff: http://git.reviewboard.kde.org/r/108755/diff/
Testing
-------
Thanks,
Guy Maurel
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list