diff --git a/dlls/mshtml/editor.c b/dlls/mshtml/editor.c
index 9b1c6169dd2..a7943af2683 100644
--- a/dlls/mshtml/editor.c
+++ b/dlls/mshtml/editor.c
@@ -379,7 +379,7 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
set_dirty(This->doc_node->browser, VARIANT_TRUE);
}
-static void handle_arrow_key(HTMLDocument *This, nsIDOMEvent *event, nsIDOMKeyEvent *key_event, const char * const cmds[4])
+static void handle_arrow_key(HTMLDocumentNode *doc, nsIDOMEvent *event, nsIDOMKeyEvent *key_event, const char * const cmds[4])
{
int i=0;
cpp_bool b;
@@ -393,12 +393,12 @@ static void handle_arrow_key(HTMLDocument *This, nsIDOMEvent *event, nsIDOMKeyEv
i |= 2;
if(cmds[i])
- do_ns_editor_command(This->doc_obj->nscontainer, cmds[i]);
+ do_ns_editor_command(doc->browser, cmds[i]);
nsIDOMEvent_PreventDefault(event);
}
-void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
+void handle_edit_event(HTMLDocumentNode *doc, nsIDOMEvent *event)
{
nsIDOMKeyEvent *key_event;
UINT32 code;
@@ -417,7 +417,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
};
TRACE("left\n");
- handle_arrow_key(This, event, key_event, cmds);
+ handle_arrow_key(doc, event, key_event, cmds);
break;
}
case DOM_VK_RIGHT: {
@@ -429,7 +429,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
};
TRACE("right\n");
- handle_arrow_key(This, event, key_event, cmds);
+ handle_arrow_key(doc, event, key_event, cmds);
break;
}
case DOM_VK_UP: {
@@ -441,7 +441,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
};
TRACE("up\n");
- handle_arrow_key(This, event, key_event, cmds);
+ handle_arrow_key(doc, event, key_event, cmds);
break;
}
case DOM_VK_DOWN: {
@@ -453,7 +453,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
};
TRACE("down\n");
- handle_arrow_key(This, event, key_event, cmds);
+ handle_arrow_key(doc, event, key_event, cmds);
break;
}
case DOM_VK_DELETE: {
@@ -464,7 +464,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
};
TRACE("delete\n");
- handle_arrow_key(This, event, key_event, cmds);
+ handle_arrow_key(doc, event, key_event, cmds);
break;
}
case DOM_VK_HOME: {
@@ -476,7 +476,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
};
TRACE("home\n");
- handle_arrow_key(This, event, key_event, cmds);
+ handle_arrow_key(doc, event, key_event, cmds);
break;
}
case DOM_VK_END: {
@@ -488,7 +488,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event)
};
TRACE("end\n");
- handle_arrow_key(This, event, key_event, cmds);
+ handle_arrow_key(doc, event, key_event, cmds);
break;
}
}
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 57edb823da4..357760738fd 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -1136,7 +1136,7 @@ HRESULT do_query_service(IUnknown*,REFGUID,REFIID,void**) DECLSPEC_HIDDEN;
/* editor */
HRESULT setup_edit_mode(HTMLDocumentObj*) DECLSPEC_HIDDEN;
void init_editor(HTMLDocument*) DECLSPEC_HIDDEN;
-void handle_edit_event(HTMLDocument*,nsIDOMEvent*) DECLSPEC_HIDDEN;
+void handle_edit_event(HTMLDocumentNode*,nsIDOMEvent*) DECLSPEC_HIDDEN;
HRESULT editor_exec_copy(HTMLDocument*,DWORD,VARIANT*,VARIANT*) DECLSPEC_HIDDEN;
HRESULT editor_exec_cut(HTMLDocument*,DWORD,VARIANT*,VARIANT*) DECLSPEC_HIDDEN;
HRESULT editor_exec_paste(HTMLDocument*,DWORD,VARIANT*,VARIANT*) DECLSPEC_HIDDEN;
diff --git a/dlls/mshtml/nsevents.c b/dlls/mshtml/nsevents.c
index e1cd4146f73..d25f18ec006 100644
--- a/dlls/mshtml/nsevents.c
+++ b/dlls/mshtml/nsevents.c
@@ -173,17 +173,15 @@ static nsresult NSAPI handle_keypress(nsIDOMEventListener *iface,
{
nsEventListener *This = impl_from_nsIDOMEventListener(iface);
HTMLDocumentNode *doc = This->This->doc;
- HTMLDocumentObj *doc_obj;
if(!doc || !doc->browser)
return NS_ERROR_FAILURE;
- doc_obj = doc->basedoc.doc_obj;
TRACE("(%p)->(%p)\n", doc, event);
- update_doc(doc_obj, UPDATE_UI);
+ update_doc(doc->browser->doc, UPDATE_UI);
if(doc->browser->usermode == EDITMODE)
- handle_edit_event(&doc_obj->basedoc, event);
+ handle_edit_event(doc, event);
return NS_OK;
}