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.
This commit is contained in:
Jacek Caban 2007-10-02 14:20:59 +02:00 committed by Alexandre Julliard
parent 42349000c4
commit f5ef66a369
3 changed files with 4 additions and 4 deletions

View File

@ -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);

View File

@ -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;
}

View File

@ -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;