When chatting with the same person with multiple accounts on the same day, the date row in the log viewer can be expanded to reveal the accounts from which conversations with this person were held on this day.
This situation can lead to crashes. Here are some examples:
1. The first row in the date list can be expanded to reveal the accounts. The first account has an expansion arrow next to it and if expanded, it crashes. The second account displays without such an arrow and clicking it reveals the conversation.
2. The first an only row in the date list can be expanded and should reveal the two accounts that conversations were held with on that date, but instead it crashes.
Steps to Reproduce:
Case 2 can easily be reproduced by doing the following:
1. Add two test contacts (email@example.com and firstname.lastname@example.org)
2. Send a message to each of them
3. Try to view these conversations in the log viewer
I can view the conversation
After going through it with a debugger, I have a hunch that it may be related to rowCount not always returning 0 if the parent is an account but rather tries to return the rowCount for the corresponding row index at the date level (and either possibly wrongly displays expansion arrows or crashes because the date level has less rows than the accounts level). No idea how to fix it though.
Git commit 2e9c295e71137a4ddd79edd27a700e2f289eeead by Leon Handreke.
Committed on 16/10/2013 at 20:03.
Pushed by leonh into branch 'kde-telepathy-0.7'.
Fix logviewer crash with multiple conversations per date
This situation commonly occurs when conversations from multiple accounts
were held on a single day.
M +4 -3 logviewer/dates-model.cpp