Closed
Bug 121336
Opened 23 years ago
Closed 23 years ago
sometimes selection in threadpane (and folderpane) not cleared when selecting a new message
Categories
(SeaMonkey :: MailNews: Message Display, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla0.9.9
People
(Reporter: asa, Assigned: janv)
References
Details
(Whiteboard: [driver:dbaron])
Attachments
(2 files, 1 obsolete file)
24.78 KB,
image/png
|
Details | |
2.65 KB,
patch
|
bryner
:
review+
roc
:
superreview+
asa
:
approval+
|
Details | Diff | Splinter Review |
seen for at least the last 5 or 6 builds and this morning on mozilla windows
build 2002012203.
I don't have good steps to reproduce but others are seeing this too so I'm
logging this bug.
Summary: after some activity in the threadpane the previously selected messages
do not repaint as unselected. I end up with many blue highlighted messages.
Closing mail and opening it again seems to fix the problem.
Additional info: this may or may not be relevant. I usually only see this first
thing in the morning after I delete my spam. I delete spam by expanding the
threadpane completely. Then I ctrl click to select all the messages that look
like spam and hit delete. Then I contract the trheadpane (expand the message
pane) and soon after I start to see this behavior. These may not be the complete
steps to reproduce and they may even not include any of the steps to repro, just
a guess based on when I notice the problem.
Comment 1•23 years ago
|
||
I have seen the same with folder-pane of late, with many folders in blue.
I guess this has to do with outliner.
I see it consistently, am easily able to get into this state. I've found it's
not always related to deleting. Since this report has a longer cc list, will
duplicate my bug to this one.
QA Contact: esther → laurel
*** Bug 120648 has been marked as a duplicate of this bug. ***
Comment 4•23 years ago
|
||
I just saw this with the thread pane in a debug build. after it happened, I
started seeing asserts in the view manager I don't normally see.
NTDLL! 77f9f9df()
nsDebug::Assertion(const char * 0x0240bc4c, const char * 0x0240bc34, const char
* 0x0240bc00, int 617) line 290 + 13 bytes
nsViewManager::Refresh(nsView * 0x062cd110, nsIRenderingContext * 0x05a57130,
nsIRegion * 0x05a61580, unsigned int 1) line 617 + 38 bytes
nsViewManager::DispatchEvent(nsViewManager * const 0x05104df0, nsGUIEvent *
0x0012b968, nsEventStatus * 0x0012b874) line 1762
HandleEvent(nsGUIEvent * 0x0012b968) line 83
nsWindow::DispatchEvent(nsWindow * const 0x062ceef4, nsGUIEvent * 0x0012b968,
nsEventStatus & nsEventStatus_eIgnore) line 850 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012b968, nsEventStatus &
nsEventStatus_eIgnore) line 876
nsWindow::OnPaint() line 4324 + 28 bytes
nsWindow::ProcessMessage(unsigned int 15, unsigned int 0, long 0, long *
0x0012bd88) line 3246 + 17 bytes
nsWindow::WindowProc(HWND__ * 0x001600c8, unsigned int 15, unsigned int 0, long
0) line 1115 + 27 bytes
USER32! 77e13eb0()
USER32! 77e1591b()
USER32! 77e1595d()
NTDLL! 77f9fb83()
nsViewManager::Composite(nsViewManager * const 0x05104df0) line 1470
nsViewManager::UpdateView(nsViewManager * const 0x05104df0, nsIView *
0x062cd110, const nsRect & {...}, unsigned int 2) line 1673
nsFrame::Invalidate(nsIPresContext * 0x051016e0, const nsRect & {...}, int 1)
line 2151
nsOutlinerBodyFrame::InvalidateCell(nsOutlinerBodyFrame * const 0x056c0464, int
201, const unsigned short * 0x05a57490) line 794
nsOutlinerBoxObject::InvalidateCell(nsOutlinerBoxObject * const 0x062b6090, int
201, const unsigned short * 0x05a57490) line 333 + 20 bytes
nsOutlinerImageListener::Invalidate(nsOutlinerImageListener * const 0x05a57914)
line 3228
nsOutlinerImageListener::OnDataAvailable(nsOutlinerImageListener * const
0x05a57910, imgIRequest * 0x05a58ae0, nsISupports * 0x051016e0, gfxIImageFrame
* 0x067b30e0, const nsRect * 0x0012bffc) line 3185
imgRequestProxy::OnDataAvailable(gfxIImageFrame * 0x067b30e0, const nsRect *
0x0012bffc) line 332
imgRequest::NotifyProxyListener(imgRequestProxy * 0x05a58ae0) line 205
imgLoader::LoadImage(imgLoader * const 0x049ebd30, nsIURI * 0x05a57c70,
nsILoadGroup * 0x00000000, imgIDecoderObserver * 0x05a57910, nsISupports *
0x051016e0, unsigned int 0, nsISupports * 0x00000000, imgIRequest * 0x00000000,
imgIRequest * * 0x0012c3f4) line 391
nsOutlinerBodyFrame::GetImage(int 201, const unsigned short * 0x00536760,
nsIStyleContext * 0x056c3808, imgIContainer * * 0x0012c488) line 1664 + 90 bytes
nsOutlinerBodyFrame::GetImageSize(int 201, const unsigned short * 0x00536760,
nsIStyleContext * 0x056c3808) line 1730 + 44 bytes
nsOutlinerBodyFrame::PaintImage(nsOutlinerBodyFrame * const 0x056c0428, int
201, nsOutlinerColumn * 0x005367c0, const nsRect & {...}, nsIPresContext *
0x051016e0, nsIRenderingContext & {...}, const nsRect & {...},
nsFramePaintLayer eFramePaintLayer_Underlay, int & 270, int & 8902) line 2351 +
48 bytes
nsOutlinerBodyFrame::PaintCell(nsOutlinerBodyFrame * const 0x056c0428, int 201,
nsOutlinerColumn * 0x005367c0, const nsRect & {...}, nsIPresContext *
0x051016e0, nsIRenderingContext & {...}, const nsRect & {...},
nsFramePaintLayer eFramePaintLayer_Underlay) line 2225
nsOutlinerBodyFrame::PaintRow(nsOutlinerBodyFrame * const 0x056c0428, int 201,
const nsRect & {...}, nsIPresContext * 0x051016e0, nsIRenderingContext & {...},
const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Underlay) line 2051
nsOutlinerBodyFrame::Paint(nsOutlinerBodyFrame * const 0x056c0428,
nsIPresContext * 0x051016e0, nsIRenderingContext & {...}, const nsRect & {...},
nsFramePaintLayer eFramePaintLayer_Underlay, unsigned int 0) line 1914
PresShell::Paint(PresShell * const 0x05100384, nsIView * 0x062cd110,
nsIRenderingContext & {...}, const nsRect & {...}) line 5707 + 36 bytes
nsView::Paint(nsView * const 0x062cd110, nsIRenderingContext & {...}, const
nsRect & {...}, unsigned int 0, int & 268486052) line 272
nsViewManager::RenderDisplayListElement(DisplayListElement2 * 0x05a59360,
nsIRenderingContext & {...}) line 1240
nsViewManager::RenderViews(nsView * 0x062cd110, nsIRenderingContext & {...},
const nsRect & {...}, int & 0) line 1164
nsViewManager::Refresh(nsView * 0x062cd110, nsIRenderingContext * 0x05a59030,
nsIRegion * 0x05a58050, unsigned int 1) line 703
nsViewManager::DispatchEvent(nsViewManager * const 0x05104df0, nsGUIEvent *
0x0012ccdc, nsEventStatus * 0x0012cbe8) line 1762
HandleEvent(nsGUIEvent * 0x0012ccdc) line 83
nsWindow::DispatchEvent(nsWindow * const 0x062ceef4, nsGUIEvent * 0x0012ccdc,
nsEventStatus & nsEventStatus_eIgnore) line 850 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012ccdc, nsEventStatus &
nsEventStatus_eIgnore) line 876
nsWindow::OnPaint() line 4324 + 28 bytes
nsWindow::ProcessMessage(unsigned int 15, unsigned int 0, long 0, long *
0x0012d0fc) line 3246 + 17 bytes
nsWindow::WindowProc(HWND__ * 0x001600c8, unsigned int 15, unsigned int 0, long
0) line 1115 + 27 bytes
USER32! 77e13eb0()
USER32! 77e1591b()
USER32! 77e1595d()
NTDLL! 77f9fb83()
nsViewManager::Composite(nsViewManager * const 0x05104df0) line 1470
nsViewManager::UpdateView(nsViewManager * const 0x05104df0, nsIView *
0x062cd110, const nsRect & {...}, unsigned int 2) line 1673
nsFrame::Invalidate(nsIPresContext * 0x051016e0, const nsRect & {...}, int 1)
line 2151
nsOutlinerBodyFrame::InvalidateRow(nsOutlinerBodyFrame * const 0x056c0464, int
201) line 778
nsOutlinerBoxObject::InvalidateRow(nsOutlinerBoxObject * const 0x062b6090, int
201) line 325 + 16 bytes
nsOutlinerSelection::SetCurrentIndex(nsOutlinerSelection * const 0x0652f690,
int 201) line 593
nsOutlinerSelection::Select(nsOutlinerSelection * const 0x0652f690, int 201)
line 345
XPTC_InvokeByIndex(nsISupports * 0x0652f690, unsigned int 7, unsigned int 1,
nsXPTCVariant * 0x0012d480) line 106
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_METHOD) line 1998 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x0507fd20, JSObject * 0x03f3bc40, unsigned int
1, long * 0x040b6d30, long * 0x0012d760) line 1266 + 14 bytes
js_Invoke(JSContext * 0x0507fd20, unsigned int 1, unsigned int 0) line 832 + 23
bytes
js_Interpret(JSContext * 0x0507fd20, long * 0x0012e550) line 2798 + 15 bytes
js_Invoke(JSContext * 0x0507fd20, unsigned int 1, unsigned int 2) line 849 + 13
bytes
js_InternalInvoke(JSContext * 0x0507fd20, JSObject * 0x040b20a8, long 66303688,
unsigned int 0, unsigned int 1, long * 0x0012e7c0, long * 0x0012e678) line 924
+ 20 bytes
JS_CallFunctionValue(JSContext * 0x0507fd20, JSObject * 0x040b20a8, long
66303688, unsigned int 1, long * 0x0012e7c0, long * 0x0012e678) line 3405 + 31
bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x05079c90, void *
0x040b20a8, void * 0x03f3b6c8, unsigned int 1, void * 0x0012e7c0, int *
0x0012e7c4, int 0) line 1011 + 33 bytes
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x05a584d0,
nsIDOMEvent * 0x05a5df98) line 180 + 77 bytes
nsXBLPrototypeHandler::ExecuteHandler(nsXBLPrototypeHandler * const 0x05145040,
nsIDOMEventReceiver * 0x05fb0fb8, nsIDOMEvent * 0x05a5df98) line 442
DoMouse(nsIAtom * 0x0419c560, nsIXBLPrototypeHandler * 0x05145040, nsIDOMEvent
* 0x05a5df98, nsIDOMEventReceiver * 0x05fb0fb8) line 118
nsXBLMouseHandler::MouseDown(nsXBLMouseHandler * const 0x062cd680, nsIDOMEvent
* 0x05a5df98) line 123 + 40 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x061ecfc0,
nsIPresContext * 0x051016e0, nsEvent * 0x0012f92c, nsIDOMEvent * * 0x0012f614,
nsIDOMEventTarget * 0x05fb0fb8, unsigned int 7, nsEventStatus * 0x0012f824)
line 1294 + 41 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x05fb0fb0, nsIPresContext *
0x051016e0, nsEvent * 0x0012f92c, nsIDOMEvent * * 0x0012f614, unsigned int 1,
nsEventStatus * 0x0012f824) line 3359
PresShell::HandleEventInternal(nsEvent * 0x0012f92c, nsIView * 0x062cd110,
unsigned int 1, nsEventStatus * 0x0012f824) line 5992 + 38 bytes
PresShell::HandleEvent(PresShell * const 0x05100384, nsIView * 0x062cd110,
nsGUIEvent * 0x0012f92c, nsEventStatus * 0x0012f824, int 0, int & 1) line 5909
+ 25 bytes
nsView::HandleEvent(nsView * const 0x062cd110, nsGUIEvent * 0x0012f92c,
unsigned int 0, nsEventStatus * 0x0012f824, int 0, int & 1) line 387
nsView::HandleEvent(nsView * const 0x051060a0, nsGUIEvent * 0x0012f92c,
unsigned int 0, nsEventStatus * 0x0012f824, int 1, int & 1) line 344
nsViewManager::DispatchEvent(nsViewManager * const 0x05104df0, nsGUIEvent *
0x0012f92c, nsEventStatus * 0x0012f824) line 1909
HandleEvent(nsGUIEvent * 0x0012f92c) line 83
nsWindow::DispatchEvent(nsWindow * const 0x062ceef4, nsGUIEvent * 0x0012f92c,
nsEventStatus & nsEventStatus_eIgnore) line 850 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f92c) line 871
nsWindow::DispatchMouseEvent(unsigned int 302, nsPoint * 0x00000000) line 4527
+ 21 bytes
ChildWindow::DispatchMouseEvent(unsigned int 302, nsPoint * 0x00000000) line
4779
nsWindow::ProcessMessage(unsigned int 513, unsigned int 1, long 8913085, long *
0x0012fd20) line 3414 + 24 bytes
nsWindow::WindowProc(HWND__ * 0x001600c8, unsigned int 513, unsigned int 1,
long 8913085) line 1115 + 27 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x04133250) line 303
main1(int 2, char * * 0x00444b90, nsISupports * 0x00000000) line 1285 + 32 bytes
main(int 2, char * * 0x00444b90) line 1625 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e87903()
Comment 5•23 years ago
|
||
putting in 0.9.9 (and marking normal) to get this on the radar.
Severity: minor → normal
Target Milestone: --- → mozilla0.9.9
*** Bug 121656 has been marked as a duplicate of this bug. ***
Reporter | ||
Comment 7•23 years ago
|
||
I noticed that if I drag another mozilla window (like the JS Console) over the
threadpane it clears the false selection highlight for the area that was
obscured by the other window. I also noticed that I was able to move to a
different mail folder and the behavior continued there.
Comment 8•23 years ago
|
||
*** Bug 121687 has been marked as a duplicate of this bug. ***
Reporter | ||
Comment 9•23 years ago
|
||
Possible clue. I was able to trigger this behavior twice by setting a label.
After I set the lable with a context menu click on the message in the threadpane
I got the sticky highlight color problem. I am no longer able to repro with that
step so it may have been some strange coincidence. Possibly it had to do with
biff firing at just the same time or something like that.
Reporter | ||
Comment 10•23 years ago
|
||
I noticed (and so did ji@netscape) that this happens when I have the last
message in the threadpane selected (and maybe a new message came into that
folder). Since I was labeling the last message in the threadpane when I thought
I had a label triggered failure it could not be labels.
from bug 120648 "Basically it always starts to happen when I'm viewing the last
mail on the thread and a new mail comes in."
Comment 11•23 years ago
|
||
mscott just saw it in the folder pane.
those assertions in the view manager
(http://bugzilla.mozilla.org/show_bug.cgi?id=121336#c4) and the fact that
forcing a paint fixes the problem make me think it isn't mailnews code.
who would get this bug? hyatt, jan, hewitt, roc?
Summary: sometimes selection in threadpane not cleared when selecting a new message → sometimes selection in threadpane (and folderpane) not cleared when selecting a new message
Comment 12•23 years ago
|
||
I think this should start with hyatt, but since I don't have a reproducable test
case yet, it might sit on his list.
Assignee: sspitzer → hyatt
Assignee | ||
Comment 13•23 years ago
|
||
I'm not able to reproduce it, still trying ...
Summary of the stack trace:
While the outliner was painting, it called LoadImage(), which fired some event
which invalidated some cells and tried to synchronously repaint. The view
manager doesn't support starting a new repaint while it's already painting.
It's probably best to avoid firing events while painting.
Assignee | ||
Comment 16•23 years ago
|
||
This patch might fix it:
http://bugzilla.mozilla.org/showattachment.cgi?attach_id=65977
It is attached in bug 120299.
Assignee | ||
Comment 17•23 years ago
|
||
I guess, my machines are too slow to see this problem.
That patch should help.
Comment 18•23 years ago
|
||
*** Bug 122349 has been marked as a duplicate of this bug. ***
Comment 19•23 years ago
|
||
http://bugzilla.mozilla.org/attachment.cgi?id=66865&action=view
Screenshot of threadpane with false selections, grey selections and partly
selections, modern theme.
Assignee | ||
Comment 21•23 years ago
|
||
This should be fixed along with 120299.
Feel free to reopen in other case.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Comment 22•23 years ago
|
||
This problem still exists using commercial trunk build 2002-02-04-09, win 98.
It is still fairly easy to get into the false selection state in either the
folder pane or thread pane. All I need to do is select individual
folders/messages going upward in the pane then reverse the direction and select
downward. Reopening.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 23•23 years ago
|
||
I just saw this when I dropped an item in bookmarks.
I had to drop another item to get correct state.
I can't reproduce it again though.
Reporter | ||
Comment 24•23 years ago
|
||
This is definitely not fixed. I'm seeing it regularly in nightly builds.
Comment 25•23 years ago
|
||
Hey, I found a really easy way to reproduce this. All you have to do is click
some folders *quickly* one after another. You need to select them quickly after
each other.
Comment 26•23 years ago
|
||
Seeing a lot of this in 2002-02-14 (Win98se).
Doesn't seem to need much of a trigger condition: start clicking things in
message list (summary pane) and all the things I click are highlighted. They
seem not to be actually selected because a command such as "Message->Label" does
not label all of them. Looks like the UI code is not repainting where it should
- in the *old* selection boundingbox. FWIW, right-click somewhere in the pane
clears all except the latest (correct) highlight.
Comment 27•23 years ago
|
||
*** Bug 125714 has been marked as a duplicate of this bug. ***
I think I explained what the problem is. You can't try to paint during a paint
operation, and you probably shouldn't be firing events during a paint operation
in the outliner.
Comment 29•23 years ago
|
||
*** Bug 125989 has been marked as a duplicate of this bug. ***
Comment 30•23 years ago
|
||
*** Bug 123243 has been marked as a duplicate of this bug. ***
Assignee | ||
Updated•23 years ago
|
Status: REOPENED → ASSIGNED
Comment 31•23 years ago
|
||
Easy way to reproduce (build 20020222 Win2K):
- select multiple messages (ctrl-click)
- start dragging them
- abort dragging by keeping the mouse cursor on one of the selected headers
- try clicking on other headers
I suppose this is the same problem?
Assignee | ||
Comment 32•23 years ago
|
||
Yeah, actually I can reproduce it only with dragging and I think this is the
case.
I noticed that onDragExit is firing twice and with combination of sync
invalidating ... what Robert said.
I'll try to fix it.
Updated•23 years ago
|
Whiteboard: [driver:dbaron]
Assignee | ||
Comment 33•23 years ago
|
||
this fix was tested on Linux and Windows
Assignee | ||
Comment 34•23 years ago
|
||
alternative fix, in case that the first one doesn't work well on Mac.
Assignee | ||
Comment 35•23 years ago
|
||
Need reviews and Mac testing.
Comment 37•23 years ago
|
||
I'll test the fix on Mac late tonight or early tomorrow...
Comment 38•23 years ago
|
||
Using a debug build from last Sunday with couple patches for mime and nsIWidget,
I am not able to reproduce the selection problem under MacOS 9.
With the first patch, when I drag a message over a folder, the folder doesn't
hilite anymore! I removed the patch and it start working again.
Still need to test the second patch...
Assignee | ||
Comment 39•23 years ago
|
||
try "alternative fix" please
that should work
Assignee | ||
Comment 40•23 years ago
|
||
I've been able to reproduce it by not simple clicking, but
clicking and short moving after mouse down (dragging) on row by row
Comment 41•23 years ago
|
||
I tested the second patch on my Mac using a tree pulled late last night and it
works fine.
Assignee | ||
Updated•23 years ago
|
Attachment #71615 -
Attachment is obsolete: true
Assignee | ||
Comment 42•23 years ago
|
||
thanks for testing, I'll try to get reviews.
Comment 43•23 years ago
|
||
*** Bug 128506 has been marked as a duplicate of this bug. ***
Comment on attachment 71616 [details] [diff] [review]
alternative fix
sr=roc+moz
Attachment #71616 -
Flags: superreview+
Comment 45•23 years ago
|
||
Comment on attachment 71616 [details] [diff] [review]
alternative fix
r=bryner
Attachment #71616 -
Flags: review+
Reporter | ||
Comment 46•23 years ago
|
||
Comment on attachment 71616 [details] [diff] [review]
alternative fix
a=asa (on behalf of drivers) for checkin to the 0.9.9 branch and the 1.0 trunk
Attachment #71616 -
Flags: approval+
Assignee | ||
Comment 47•23 years ago
|
||
checked in on the trunk and branch.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago → 23 years ago
Resolution: --- → FIXED
Comment 48•23 years ago
|
||
OK for me using mar05 commercial trunk build win98.
Comment 49•23 years ago
|
||
Verified on the trunk again with mar06 commercial build, win98.
Need verification on branch.
Keywords: vbranch
Comment 50•23 years ago
|
||
*** Bug 125164 has been marked as a duplicate of this bug. ***
Comment 51•23 years ago
|
||
*** Bug 132210 has been marked as a duplicate of this bug. ***
Comment 52•23 years ago
|
||
marking verified per my comment #49, someone removed vbranch and since we're
close on another milestone it may be a moot branch verification anyway.
Status: RESOLVED → VERIFIED
Keywords: vbranch
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•