Closed Bug 88876 Opened 23 years ago Closed 23 years ago

std alone msg window asserts because mBundle is null in nsMsgStatusFeedback

Categories

(SeaMonkey :: MailNews: Message Display, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: sspitzer, Assigned: sspitzer)

Details

Attachments

(1 file)

a while back varada I bulletproofed nsMsgStatusFeedback.cpp to not crash (but assert) when mBundle was null. I've got a way to assert. launch mail, double click on a message to get the stand alone msg window. you'll assert: NTDLL! 77f9f9df() nsDebug::Assertion(const char * 0x02efabcc, const char * 0x02efabc4, const char * 0x02efab88, int 113) line 290 + 13 bytes nsDebug::WarnIfFalse(const char * 0x02efabcc, const char * 0x02efabc4, const char * 0x02efab88, int 113) line 396 + 21 bytes nsMsgStatusFeedback::OnStateChange(nsMsgStatusFeedback * const 0x05714108, nsIWebProgress * 0x056cfbe4, nsIRequest * 0x054bab80, int 65537, unsigned int 0) line 113 + 38 bytes nsDocLoaderImpl::FireOnStateChange(nsIWebProgress * 0x056cfbe4, nsIRequest * 0x054bab80, int 65537, unsigned int 0) line 1095 nsDocLoaderImpl::doStartURLLoad(nsIRequest * 0x054bab80) line 681 nsDocLoaderImpl::OnStartRequest(nsDocLoaderImpl * const 0x056cfbd4, nsIRequest * 0x054bab80, nsISupports * 0x00000000) line 492 nsLoadGroup::AddRequest(nsLoadGroup * const 0x056cfb60, nsIRequest * 0x054bab80, nsISupports * 0x00000000) line 450 + 40 bytes PresShell::AddDummyLayoutRequest() line 6083 + 40 bytes PresShell::ReflowCommandAdded(nsIReflowCommand * 0x054bac10) line 6035 PresShell::AppendReflowCommandInternal(PresShell * const 0x05427230, nsIReflowCommand * 0x054bac10, nsVoidArray & {...}) line 3517 PresShell::AppendReflowCommand(PresShell * const 0x05427230, nsIReflowCommand * 0x054bac10) line 3538 nsFrame::CreateAndPostReflowCommand(nsIPresShell * 0x05427230, nsIFrame * 0x03e4555c, nsIReflowCommand::ReflowType ReflowDirty, nsIFrame * 0x00000000, nsIAtom * 0x00000000, nsIAtom * 0x00000000) line 4016 nsBlockFrame::ReflowDirtyChild(nsBlockFrame * const 0x03e4555c, nsIPresShell * 0x05427230, nsIFrame * 0x00000000) line 5562 + 21 bytes nsBlockFrame::AppendFrames(nsBlockFrame * const 0x03e4555c, nsIPresContext * 0x05421e40, nsIPresShell & {...}, nsIAtom * 0x00000000, nsIFrame * 0x03e3adb4) line 4351 FrameManager::AppendFrames(FrameManager * const 0x053dc840, nsIPresContext * 0x05421e40, nsIPresShell & {...}, nsIFrame * 0x03e4555c, nsIAtom * 0x00000000, nsIFrame * 0x03e3adb4) line 829 + 28 bytes nsCSSFrameConstructor::AppendFrames(nsIPresContext * 0x05421e40, nsIPresShell * 0x05427230, nsIFrameManager * 0x053dc840, nsIContent * 0x0546ad50, nsIFrame * 0x03e4555c, nsIFrame * 0x03e3adb4) line 7636 + 30 bytes nsCSSFrameConstructor::ContentAppended(nsCSSFrameConstructor * const 0x054275e0, nsIPresContext * 0x05421e40, nsIContent * 0x0546ad50, int 0) line 8214 StyleSetImpl::ContentAppended(StyleSetImpl * const 0x05425090, nsIPresContext * 0x05421e40, nsIContent * 0x0546ad50, int 0) line 1099 PresShell::ContentAppended(PresShell * const 0x05427238, nsIDocument * 0x05409230, nsIContent * 0x0546ad50, int 0) line 4886 + 46 bytes nsDocument::ContentAppended(nsDocument * const 0x05409230, nsIContent * 0x0546ad50, int 0) line 1597 nsHTMLDocument::ContentAppended(nsHTMLDocument * const 0x05409230, nsIContent * 0x0546ad50, int 0) line 1169 + 17 bytes HTMLContentSink::NotifyAppend(nsIContent * 0x0546ad50, int 0) line 4580 SinkContext::FlushTags(int 1) line 2156 HTMLContentSink::CloseBody(HTMLContentSink * const 0x0541e190, const nsIParserNode & {...}) line 3143 CNavDTD::CloseBody(const nsIParserNode * 0x03e127e8) line 3179 + 31 bytes CNavDTD::CloseContainer(const nsCParserNode * 0x03e127e8, nsHTMLTag eHTMLTag_body, int 0) line 3524 + 12 bytes CNavDTD::CloseContainersTo(int 1, nsHTMLTag eHTMLTag_body, int 0) line 3586 + 20 bytes CNavDTD::CloseContainersTo(nsHTMLTag eHTMLTag_body, int 0) line 3737 + 20 bytes CNavDTD::DidBuildModel(CNavDTD * const 0x054651a0, unsigned int 0, int 1, nsIParser * 0x053da780, nsIContentSink * 0x0541e190) line 625 nsParser::DidBuildModel(unsigned int 0) line 1584 + 60 bytes nsParser::ResumeParse(int 1, int 1) line 2109 nsParser::OnStopRequest(nsParser * const 0x053da788, nsIRequest * 0x04e5c684, nsISupports * 0x04e9ca80, unsigned int 0) line 2554 + 19 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x053d0f10, nsIRequest * 0x04e5c684, nsISupports * 0x04e9ca80, unsigned int 0) line 252 nsStreamConverter::OnStopRequest(nsStreamConverter * const 0x053d65b0, nsIRequest * 0x04e5c684, nsISupports * 0x04e9ca80, unsigned int 0) line 1022 nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x04e4cd80, nsIRequest * 0x04e5c684, nsISupports * 0x04e9ca80, unsigned int 0) line 252 nsMsgProtocol::OnStopRequest(nsMsgProtocol * const 0x04e5c680, nsIRequest * 0x04e4aec4, nsISupports * 0x04e9ca80, unsigned int 0) line 279 + 88 bytes nsMailboxProtocol::OnStopRequest(nsMailboxProtocol * const 0x04e5c680, nsIRequest * 0x04e4aec4, nsISupports * 0x04e9ca80, unsigned int 0) line 338 nsOnStopRequestEvent::HandleEvent() line 161 nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x04e42c94) line 64 PL_HandleEvent(PLEvent * 0x04e42c94) line 590 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x012da900) line 520 + 9 bytes _md_EventReceiverProc(HWND__ * 0x002200b2, unsigned int 49397, unsigned int 0, long 19769600) line 1071 + 9 bytes USER32! 77e13eb0() USER32! 77e1401a() USER32! 77e192da() nsAppShellService::Run(nsAppShellService * const 0x0138d750) line 419 main1(int 2, char * * 0x00484190, nsISupports * 0x00000000) line 1161 + 32 bytes main(int 2, char * * 0x00484190) line 1464 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e87903()
crap, I goofed. when I made the string bundle a member variable (and not a static comptr), I left in the old code that would only set mBundle if gInstanceCount was 0 (going to 1). so if there is exactly one msg status feedback, it will have a mBundle. if there are two or more at the same time (3 pane and std alone msg window), the second will not have mBundle. (so we'll assert and status messages won't show.) patch on the way. no one has bitten my head off (I'm surprised). this is also on the 0.9.2 branch too.
rs=bienvenu
r=varada
fixed.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
QA Contact: esther → stephend
On my debug build (2 day old tree on Win32), I don't assert when double- clicking on a message. Verified FIXED.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: