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

RESOLVED FIXED in Thunderbird 3.0b2

Status

--
minor
RESOLVED FIXED
10 years ago
3 years ago

People

(Reporter: standard8, Assigned: nick.kreeger)

Tracking

({regression})

Trunk
Thunderbird 3.0b2
regression
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

10 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

10 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

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

Updated

10 years ago
Keywords: regressionwindow-wanted

Updated

10 years ago
Whiteboard: should be easy
(Assignee)

Comment 3

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

Comment 4

10 years ago
Nick, any progress on this?
(Assignee)

Comment 5

10 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

10 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

10 years ago
Created attachment 361819 [details] [diff] [review]
Patch V1

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

10 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

10 years ago
Created attachment 361879 [details] [diff] [review]
alternate fix as suggested by Nick over IRC

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

Comment 10

10 years ago
Created attachment 361887 [details] [diff] [review]
less malformed version
Attachment #361879 - Attachment is obsolete: true
(Assignee)

Updated

10 years ago
Attachment #361887 - Flags: review+
(Assignee)

Comment 11

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

works for me.

Updated

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

Comment 12

10 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

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

Updated

10 years ago
Duplicate of this bug: 462557
Keywords: regressionwindow-wanted
You need to log in before you can comment on or make changes to this bug.