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

RESOLVED FIXED in Thunderbird 3.0b2

Status

defect
--
minor
RESOLVED FIXED
11 years ago
4 years ago

People

(Reporter: standard8, Assigned: nick.kreeger)

Tracking

({regression})

Trunk
Thunderbird 3.0b2
Bug Flags:
blocking-thunderbird3.0b1 -
blocking-thunderbird3 +

Firefox Tracking Flags

(Not tracked)

Details

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

Attachments

(1 attachment, 2 obsolete attachments)

Reporter

Description

11 years ago
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?

Comment 1

11 years ago
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
Status: NEW → ASSIGNED
Flags: blocking-thunderbird3.0b1?
Flags: blocking-thunderbird3.0b1-
Flags: blocking-thunderbird3+
Target Milestone: --- → Thunderbird 3.0b2

Updated

11 years ago
Severity: normal → minor
Duplicate of this bug: 472329

Updated

11 years ago
Whiteboard: should be easy
Assignee

Comment 3

11 years ago
I'll take this.
Assignee: bienvenu → nick.kreeger
Whiteboard: should be easy → [should be easy][no l10n impact]

Comment 4

11 years ago
Nick, any progress on this?
Assignee

Comment 5

11 years ago
(In reply to comment #4)
> Nick, any progress on this?

Haven't had a chance to start on this just yet.

Comment 6

11 years ago
Nick thinks he can get to this tomorrow.
Whiteboard: [should be easy][no l10n impact] → [should be easy][no l10n impact][target frozen]
Assignee

Comment 7

11 years ago
Posted 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 8

11 years ago
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!

Comment 9

11 years ago
Nick, this works for me - does it work for you?

Comment 10

11 years ago
Attachment #361879 - Attachment is obsolete: true
Assignee

Updated

11 years ago
Attachment #361887 - Flags: review+
Assignee

Comment 11

11 years ago
Comment on attachment 361887 [details] [diff] [review]
less malformed version

works for me.

Updated

11 years ago
Attachment #361887 - Flags: superreview?(neil)

Comment 12

11 years ago
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+

Comment 14

11 years ago
fix checked in tweaked per Neil's suggestion.
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED

Updated

11 years ago
Duplicate of this bug: 462557
You need to log in before you can comment on or make changes to this bug.