diff options
author | Moonchild <mcwerewolf@gmail.com> | 2018-06-27 14:10:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-27 14:10:49 +0200 |
commit | 9168a0fc95f523c7c852ca95969edb39069f4a03 (patch) | |
tree | d9e7ea0c5086235d0cfa7a7cc34f1760a4d74bb4 /editor/libeditor/HTMLEditor.cpp | |
parent | a3724697dc38820c4918b9e674ff56d2c15c5bba (diff) | |
parent | 783b60aae187d75c8c1924eceec8c4c56aa40c5e (diff) | |
download | UXP-9168a0fc95f523c7c852ca95969edb39069f4a03.tar UXP-9168a0fc95f523c7c852ca95969edb39069f4a03.tar.gz UXP-9168a0fc95f523c7c852ca95969edb39069f4a03.tar.lz UXP-9168a0fc95f523c7c852ca95969edb39069f4a03.tar.xz UXP-9168a0fc95f523c7c852ca95969edb39069f4a03.zip |
Merge pull request #554 from MoonchildProductions/issue12
Resolve potential null deref crashes in the editor
Diffstat (limited to 'editor/libeditor/HTMLEditor.cpp')
-rw-r--r-- | editor/libeditor/HTMLEditor.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/editor/libeditor/HTMLEditor.cpp b/editor/libeditor/HTMLEditor.cpp index dd47ffd3c..368f7a3e9 100644 --- a/editor/libeditor/HTMLEditor.cpp +++ b/editor/libeditor/HTMLEditor.cpp @@ -5161,23 +5161,22 @@ HTMLEditor::OurWindowHasFocus() } bool -HTMLEditor::IsAcceptableInputEvent(nsIDOMEvent* aEvent) +HTMLEditor::IsAcceptableInputEvent(WidgetGUIEvent* aGUIEvent) { - if (!EditorBase::IsAcceptableInputEvent(aEvent)) { + if (!EditorBase::IsAcceptableInputEvent(aGUIEvent)) { return false; } // While there is composition, all composition events in its top level window // are always fired on the composing editor. Therefore, if this editor has // composition, the composition events should be handled in this editor. - if (mComposition && aEvent->WidgetEventPtr()->AsCompositionEvent()) { + if (mComposition && aGUIEvent->AsCompositionEvent()) { return true; } NS_ENSURE_TRUE(mDocWeak, false); - nsCOMPtr<nsIDOMEventTarget> target; - aEvent->GetTarget(getter_AddRefs(target)); + nsCOMPtr<nsIDOMEventTarget> target = aGUIEvent->GetDOMEventTarget(); NS_ENSURE_TRUE(target, false); nsCOMPtr<nsIDocument> document = do_QueryReferent(mDocWeak); @@ -5201,8 +5200,7 @@ HTMLEditor::IsAcceptableInputEvent(nsIDOMEvent* aEvent) // If the event is a mouse event, we need to check if the target content is // the focused editing host or its descendant. - nsCOMPtr<nsIDOMMouseEvent> mouseEvent = do_QueryInterface(aEvent); - if (mouseEvent) { + if (aGUIEvent->AsMouseEventBase()) { nsIContent* editingHost = GetActiveEditingHost(); // If there is no active editing host, we cannot handle the mouse event // correctly. |