Jacek Caban : mshtml: Don't use fire_event to dispatch contextmenu event.
Alexandre Julliard
julliard at winehq.org
Fri Oct 20 15:09:36 CDT 2017
Module: wine
Branch: master
Commit: 6bf1250b826b3ee16e12d6ff29edda8f354e9e52
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6bf1250b826b3ee16e12d6ff29edda8f354e9e52
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Oct 20 15:09:29 2017 +0200
mshtml: Don't use fire_event to dispatch contextmenu event.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/nsembed.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c
index bb4f122..c811a0f 100644
--- a/dlls/mshtml/nsembed.c
+++ b/dlls/mshtml/nsembed.c
@@ -1486,8 +1486,9 @@ static nsresult NSAPI nsContextMenuListener_OnShowContextMenu(nsIContextMenuList
UINT32 aContextFlags, nsIDOMEvent *aEvent, nsIDOMNode *aNode)
{
NSContainer *This = impl_from_nsIContextMenuListener(iface);
- nsIDOMMouseEvent *event;
+ nsIDOMMouseEvent *mouse_event;
HTMLDOMNode *node;
+ DOMEvent *event;
POINT pt;
DWORD dwID = CONTEXT_MENU_DEFAULT;
nsresult nsres;
@@ -1499,14 +1500,18 @@ static nsresult NSAPI nsContextMenuListener_OnShowContextMenu(nsIContextMenuList
if(FAILED(hres))
return NS_ERROR_FAILURE;
- fire_event(This->doc->basedoc.doc_node /* FIXME */, EVENTID_CONTEXTMENU, TRUE, &node->event_target, aEvent);
+ hres = create_event_from_nsevent(aEvent, &event);
+ if(SUCCEEDED(hres)) {
+ fire_event_obj(&node->event_target, event);
+ IDOMEvent_Release(&event->IDOMEvent_iface);
+ }
- nsres = nsIDOMEvent_QueryInterface(aEvent, &IID_nsIDOMMouseEvent, (void**)&event);
+ nsres = nsIDOMEvent_QueryInterface(aEvent, &IID_nsIDOMMouseEvent, (void**)&mouse_event);
assert(NS_SUCCEEDED(nsres));
- nsIDOMMouseEvent_GetScreenX(event, &pt.x);
- nsIDOMMouseEvent_GetScreenY(event, &pt.y);
- nsIDOMMouseEvent_Release(event);
+ nsIDOMMouseEvent_GetScreenX(mouse_event, &pt.x);
+ nsIDOMMouseEvent_GetScreenY(mouse_event, &pt.y);
+ nsIDOMMouseEvent_Release(mouse_event);
switch(aContextFlags) {
case CONTEXT_NONE:
More information about the wine-cvs
mailing list