Module: wine Branch: master Commit: f5ef66a36951f88542d3bce8a612c5897d9f9314 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f5ef66a36951f88542d3bce8a6...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Oct 2 14:20:59 2007 +0200
mshtml: Pass the IDispatch interface of the element right-clicked on to IDocHostUIHandler_ShowContextMenu if applicable instead of always the document's one.
Found by Rob Shearman.
---
dlls/mshtml/mshtml_private.h | 2 +- dlls/mshtml/nsembed.c | 2 +- dlls/mshtml/olecmd.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 3038d6f..3db047f 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -362,7 +362,7 @@ NSContainer *NSContainer_Create(HTMLDocument*,NSContainer*); void NSContainer_Release(NSContainer*);
void HTMLDocument_LockContainer(HTMLDocument*,BOOL); -void show_context_menu(HTMLDocument*,DWORD,POINT*); +void show_context_menu(HTMLDocument*,DWORD,POINT*,IDispatch*); void notif_focus(HTMLDocument*);
void show_tooltip(HTMLDocument*,DWORD,DWORD,LPCWSTR); diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c index 19bf85c..23b2193 100644 --- a/dlls/mshtml/nsembed.c +++ b/dlls/mshtml/nsembed.c @@ -997,7 +997,7 @@ static nsresult NSAPI nsContextMenuListener_OnShowContextMenu(nsIContextMenuList FIXME("aContextFlags=%08x\n", aContextFlags); };
- show_context_menu(This->doc, dwID, &pt); + show_context_menu(This->doc, dwID, &pt, (IDispatch*)HTMLDOMNODE(get_node(This->doc, aNode)));
return NS_OK; } diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c index b33d305..a137057 100644 --- a/dlls/mshtml/olecmd.c +++ b/dlls/mshtml/olecmd.c @@ -852,14 +852,14 @@ static const IOleCommandTargetVtbl OleCommandTargetVtbl = { OleCommandTarget_Exec };
-void show_context_menu(HTMLDocument *This, DWORD dwID, POINT *ppt) +void show_context_menu(HTMLDocument *This, DWORD dwID, POINT *ppt, IDispatch *elem) { HMENU menu_res, menu; DWORD cmdid; HRESULT hres;
hres = IDocHostUIHandler_ShowContextMenu(This->hostui, dwID, ppt, - (IUnknown*)CMDTARGET(This), (IDispatch*)HTMLDOC(This)); + (IUnknown*)CMDTARGET(This), elem); if(hres == S_OK) return;