Closed Bug 214025 Opened 18 years ago Closed 18 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+
filed bug 214459
Assignee: daniel → timeless
fix checked in
Status: NEW → RESOLVED
Closed: 18 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.