Closed Bug 465939 Opened 14 years ago Closed 14 years ago

"Mark folder read" isn't clearing indications on collapsed threads


(Thunderbird :: Mail Window Front End, defect)

Not set


(Not tracked)

Thunderbird 3.0b2


(Reporter: standard8, Assigned: nick.kreeger)



(Keywords: regression, Whiteboard: [should be easy][no l10n impact][target frozen])


(1 file, 2 obsolete files)

I noticed this when looking at newsgroups initially, but I see it on my IMAP account as well.

1) Have a displayed folder so that you can see some messages unread, and some collapsed threads unread (note the top message of the thread must be read).
2) Right click on folder, and select "Mark folder read".

Actual Results: single messages go from bold to not-bold. Threads stay with an underscore and a blue (as opposed to grey) thread symbol.

Expected results: single messages and threads all get marked unread.

I'm fairly sure this is a regression. 

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b2pre) Gecko/20081119 Lightning/1.0pre Shredder/3.0b1pre
Flags: blocking-thunderbird3.0b1?
What's going on here is that we're not invalidating the thread pane row for the top level message in the thread. If you mouse over the row, it will display correctly.  Should be easy to fix.
Assignee: nobody → bienvenu
Flags: blocking-thunderbird3.0b1?
Flags: blocking-thunderbird3.0b1-
Flags: blocking-thunderbird3+
Target Milestone: --- → Thunderbird 3.0b2
Severity: normal → minor
Duplicate of this bug: 472329
Whiteboard: should be easy
I'll take this.
Assignee: bienvenu → nick.kreeger
Whiteboard: should be easy → [should be easy][no l10n impact]
Nick, any progress on this?
(In reply to comment #4)
> Nick, any progress on this?

Haven't had a chance to start on this just yet.
Nick thinks he can get to this tomorrow.
Whiteboard: [should be easy][no l10n impact] → [should be easy][no l10n impact][target frozen]
Attached patch Patch V1 (obsolete) — Splinter Review
Proposed patch.

This patch works around the issue where nsMsgDBView::GetThreadIndex() determines that the passed in msgIndex is invalid and does a full invalidate rather than by range. This is only the case when a message is hidden under a collapsed thread.
Attachment #361819 - Flags: review?(bienvenu)
Comment on attachment 361819 [details] [diff] [review]
Patch V1

this will work, I think, but it would be good if we would try to invalidate the correct line and have this as a fallback. I'll try the patch later this afternoon...thx for the patch!
Nick, this works for me - does it work for you?
Attachment #361879 - Attachment is obsolete: true
Attachment #361887 - Flags: review+
Comment on attachment 361887 [details] [diff] [review]
less malformed version

works for me.
Attachment #361887 - Flags: superreview?(neil)
Comment on attachment 361819 [details] [diff] [review]
Patch V1

marking obsolete - I think it's better to get the notifications right...
Attachment #361819 - Attachment is obsolete: true
Attachment #361819 - Flags: review?(bienvenu)
Comment on attachment 361887 [details] [diff] [review]
less malformed version

>+      PRInt32 threadCount;
>+      PRUint32 flags;
>+      nsMsgViewIndex threadIndex = (index == nsMsgViewIndex_None) ?
>+         ThreadIndexOfMsgHdr(aHdrChanged, index, &threadCount, &flags)
>+        : GetThreadIndex(index);
ThreadIndexOfMsgHdr is clever enough to do all of this in one line:
nsMsgViewIndex threadIndex = ThreadIndexOfMsgHdr(aHdrChanged, index, nsnull, nsnull);
* Passing in the index uses that index as the hint to find the thread root
* Passing in nsnull means that you don't care what the return values are
sr=me with that fixed.
Attachment #361887 - Flags: superreview?(neil) → superreview+
fix checked in tweaked per Neil's suggestion.
Closed: 14 years ago
Resolution: --- → FIXED
Duplicate of this bug: 462557
You need to log in before you can comment on or make changes to this bug.