Closed Bug 214025 Opened 22 years ago Closed 22 years ago

[@ nsHTMLCSSUtils::IsCSSEditableProperty]

Categories

(SeaMonkey :: Composer, defect)

x86
Windows ME
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: timeless, Assigned: timeless)

References

()

Details

(Keywords: crash, topcrash)

Crash Data

Attachments

(1 file, 1 obsolete file)

Build: 2003071608 CrashDate: 2003-07-21 UptimeMinutes: 1762 Total: 1762 OS: Windows 98 4.10 build 67766446 URL: www.dallascowboys.com Comment: Went to the website and got a big error msg window stating something about 'JIT had to be enabled' and then it crashed when I pushed the Retry button. BBID: 22070496 nsHTMLCSSUtils::IsCSSEditableProperty 04b113a0 Stack Trace: nsHTMLCSSUtils::IsCSSEditableProperty [c:/builds/seamonkey/mozilla/editor/libeditor/html/nsHTMLCSSUtils.cpp line 354] nsHTMLEditRules::GetAlignment [c:/builds/seamonkey/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp line 844] nsHTMLEditor::GetAlignment [c:/builds/seamonkey/mozilla/editor/libeditor/html/nsHTMLEditor.cpp line 2604] nsAlignCommand::GetCurrentState [c:/builds/seamonkey/mozilla/editor/composer/src/nsComposerCommands.cpp line 1049] nsMultiStateCommand::GetCommandStateParams [c:/builds/seamonkey/mozilla/editor/composer/src/ nsComposerCommands.cpp line 685] nsControllerCommandTable::GetCommandState [c:/builds/seamonkey/mozilla/embedding/components/commandhandler/src/ nsControllerCommandTable.cpp line 227] nsBaseCommandController::GetCommandStateWithParams [c:/builds/seamonkey/mozilla/embedding/components/ commandhandler/src/nsBaseCommandController.cpp line 149] XPTC_InvokeByIndex [c:/builds/seamonkey/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp line 102] XPCWrappedNative::CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp line 2019] XPC_WN_CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp line 1270] js_Invoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c line 845] js_Interpret [c:/builds/seamonkey/mozilla/js/src/jsinterp.c line 2856] js_Invoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c line 861] js_InternalInvoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c line 936] JS_CallFunctionValue [c:/builds/seamonkey/mozilla/js/src/jsapi.c line 3533] nsJSContext::CallEventHandler [c:/builds/seamonkey/mozilla/dom/src/base/nsJSEnvironment.cpp line 1220] nsJSEventListener::HandleEvent [c:/builds/seamonkey/mozilla/dom/src/events/nsJSEventListener.cpp line 183] nsEventListenerManager::HandleEventSubType [c:/builds/seamonkey/mozilla/content/events/src/ nsEventListenerManager.cpp line 1191] nsEventListenerManager::HandleEvent [c:/builds/seamonkey/mozilla/content/events/src/nsEventListenerManager.cpp line 2192] nsXULElement::HandleDOMEvent [c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp line 3276] nsXULCommandDispatcher::UpdateCommands [c:/builds/seamonkey/mozilla/content/xul/document/src/ nsXULCommandDispatcher.cpp line 390] GlobalWindowImpl::UpdateCommands [c:/builds/seamonkey/mozilla/dom/src/base/nsGlobalWindow.cpp line 3542] XPTC_InvokeByIndex [c:/builds/seamonkey/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp line 102] XPCWrappedNative::CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp line 2019] XPC_WN_CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp line 1270] js_Invoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c line 845] js_Interpret [c:/builds/seamonkey/mozilla/js/src/jsinterp.c line 2856] js_Invoke [c:/builds/seamonkey/mozilla/js/src/jsinterp.c line 861] nsXPCWrappedJSClass::CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappedjsclass.cpp line 1334] nsXPCWrappedJS::CallMethod [c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp line 429] PrepareAndDispatch [c:/builds/seamonkey/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp line 119] SharedStub [c:/builds/seamonkey/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp line 147] nsCommandManager::CommandStatusChanged [c:/builds/seamonkey/mozilla/embedding/components/commandhandler/src/ nsCommandManager.cpp line 118] nsComposerCommandsUpdater::UpdateOneCommand [c:/builds/seamonkey/mozilla/editor/composer/src/ nsComposerCommandsUpdater.cpp line 356] nsComposerCommandsUpdater::NotifyDocumentCreated [c:/builds/seamonkey/mozilla/editor/composer/src/ nsComposerCommandsUpdater.cpp line 67] nsEditor::NotifyDocumentListeners [c:/builds/seamonkey/mozilla/editor/libeditor/base/nsEditor.cpp line 2587] nsEditor::PostCreate [c:/builds/seamonkey/mozilla/editor/libeditor/base/nsEditor.cpp line 323] nsPlaintextEditor::PostCreate [c:/builds/seamonkey/mozilla/editor/libeditor/text/nsPlaintextEditor.cpp line 310] nsEditingSession::SetupEditorOnWindow [c:/builds/seamonkey/mozilla/editor/composer/src/nsEditingSession.cpp line 477] nsEditingSession::EndDocumentLoad [c:/builds/seamonkey/mozilla/editor/composer/src/nsEditingSession.cpp line 935] nsEditingSession::OnStateChange [c:/builds/seamonkey/mozilla/editor/composer/src/nsEditingSession.cpp line 704] nsDocLoaderImpl::FireOnStateChange [c:/builds/seamonkey/mozilla/uriloader/base/nsDocLoader.cpp line 1214] nsDocLoaderImpl::doStopDocumentLoad [c:/builds/seamonkey/mozilla/uriloader/base/nsDocLoader.cpp line 869] nsDocLoaderImpl::DocLoaderIsEmpty [c:/builds/seamonkey/mozilla/uriloader/base/nsDocLoader.cpp line 767] nsDocLoaderImpl::DocLoaderIsEmpty [c:/builds/seamonkey/mozilla/uriloader/base/nsDocLoader.cpp line 770] nsDocLoaderImpl::DocLoaderIsEmpty [c:/builds/seamonkey/mozilla/uriloader/base/nsDocLoader.cpp line 770] nsDocLoaderImpl::OnStopRequest [c:/builds/seamonkey/mozilla/uriloader/base/nsDocLoader.cpp line 697] nsLoadGroup::RemoveRequest [c:/builds/seamonkey/mozilla/netwerk/base/src/nsLoadGroup.cpp line 703] HandleImagePLEvent [c:/builds/seamonkey/mozilla/content/base/src/nsImageLoadingContent.cpp line 656] PL_HandleEvent [c:/builds/seamonkey/mozilla/xpcom/threads/plevent.c line 672] PL_ProcessPendingEvents [c:/builds/seamonkey/mozilla/xpcom/threads/plevent.c line 610] _md_EventReceiverProc [c:/builds/seamonkey/mozilla/xpcom/threads/plevent.c line 1413] KERNEL32.DLL + 0x24497 (0xbff94497) 0x00658b66 Source File : c:/builds/seamonkey/mozilla/editor/libeditor/html/nsHTMLCSSUtils.cpp line no: 354 Build: 2003071814 CrashDate: 2003-07-23 UptimeMinutes: 3 Total: 3 OS: Windows 98 4.10 build 67766222 URL: Comment: BBID: 22137420 nsHTMLCSSUtils::IsCSSEditableProperty 42c53704 Stack Trace: -- Offhand i'm betting that you're dereferencing null. bz suggests that it might start as null, caillon admits that it might result from a failed qi. i'll post one patch but after that it's up to someone else.
Attachment #128604 - Flags: superreview?(kin)
Attachment #128604 - Flags: review?(daniel)
Comment on attachment 128604 [details] [diff] [review] possible fix if we're guessing right The proposed fix is a safe one increasing stability, so no problem at all. But I think the problem is not here but at nsHTMLEditRules level. We should not pass something not QIing to nsIContent from there to nsHTMLCSSUtils::IsCSSEditableProperty. I recommend an nsIContent-QI nullcheck in nsHTMLEditRules but please keep the current additions in your new patch. Thanks for taking care of this, I am more involved into resumes and brain hunters' hunting myself these days :-(
Attachment #128604 - Flags: review?(daniel) → review-
Attached patch per danielSplinter Review
i don't think it's worth doing this, but i don't care either way. here's the diff-w: @@ -846 +846,5 @@ - if (useCSS && mHTMLEditor->mHTMLCSSUtils->IsCSSEditableProperty(blockParent, dummyProperty, &typeAttrName)) + if (useCSS) + { + nsCOMPtr<nsIContent> blockParentContent = do_QueryInterface(blockParent); + if (blockParentContent && + mHTMLEditor->mHTMLCSSUtils->IsCSSEditableProperty(blockParent, dummyProperty, &typeAttrName)) @@ -863 +867 @@ - else if (value.Equals(NS_LITERAL_STRING("right")) || + if (value.Equals(NS_LITERAL_STRING("right")) || @@ -870 +874 @@ - else if (value.Equals(NS_LITERAL_STRING("justify"))) + if (value.Equals(NS_LITERAL_STRING("justify"))) @@ -875 +878,0 @@ - else {
Attachment #128615 - Flags: superreview?(kin)
Attachment #128615 - Flags: review?(daniel)
Comment on attachment 128615 [details] [diff] [review] per daniel r=glazman
Attachment #128615 - Flags: review?(daniel) → review+
Attachment #128615 - Flags: superreview?(kin) → superreview?(bzbarsky)
Comment on attachment 128615 [details] [diff] [review] per daniel sr=me, but isn't the real bug that GetBlockNodeParent will return the #document node when there is no actual block parent? Is that what it should be doing? Or should it be returning null instead, eh?
Attachment #128615 - Flags: superreview?(bzbarsky) → superreview+
Assignee: daniel → timeless
fix checked in
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Attachment #128604 - Attachment is obsolete: true
Attachment #128604 - Flags: superreview?(kin)
Product: Browser → Seamonkey
Component: Composer CSS Editor → Composer
QA Contact: daniel → composer
Crash Signature: [@ nsHTMLCSSUtils::IsCSSEditableProperty]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: