mshtml: Use IOleInPlaceSiteEx if available.
This commit is contained in:
parent
dd88237d3e
commit
cf0c911305
|
@ -202,8 +202,18 @@ static HRESULT WINAPI OleInPlaceObjectWindowless_InPlaceDeactivate(IOleInPlaceOb
|
|||
}
|
||||
|
||||
This->in_place_active = FALSE;
|
||||
if(This->ipsite)
|
||||
IOleInPlaceSite_OnInPlaceDeactivate(This->ipsite);
|
||||
if(This->ipsite) {
|
||||
IOleInPlaceSiteEx *ipsiteex;
|
||||
HRESULT hres;
|
||||
|
||||
hres = IOleInPlaceSite_QueryInterface(This->ipsite, &IID_IOleInPlaceSiteEx, (void**)&ipsiteex);
|
||||
if(SUCCEEDED(hres)) {
|
||||
IOleInPlaceSiteEx_OnInPlaceDeactivateEx(ipsiteex, TRUE);
|
||||
IOleInPlaceSiteEx_Release(ipsiteex);
|
||||
}else {
|
||||
IOleInPlaceSite_OnInPlaceDeactivate(This->ipsite);
|
||||
}
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
|
|
@ -227,6 +227,7 @@ static HRESULT activate_window(HTMLDocument *This)
|
|||
IOleInPlaceUIWindow *pIPWnd;
|
||||
IOleInPlaceFrame *pIPFrame;
|
||||
IOleCommandTarget *cmdtrg;
|
||||
IOleInPlaceSiteEx *ipsiteex;
|
||||
RECT posrect, cliprect;
|
||||
OLEINPLACEFRAMEINFO frameinfo;
|
||||
HWND parent_hwnd;
|
||||
|
@ -289,7 +290,17 @@ static HRESULT activate_window(HTMLDocument *This)
|
|||
}
|
||||
|
||||
This->in_place_active = TRUE;
|
||||
hres = IOleInPlaceSite_OnInPlaceActivate(This->ipsite);
|
||||
hres = IOleInPlaceSite_QueryInterface(This->ipsite, &IID_IOleInPlaceSiteEx, (void**)&ipsiteex);
|
||||
if(SUCCEEDED(hres)) {
|
||||
BOOL redraw = FALSE;
|
||||
|
||||
hres = IOleInPlaceSiteEx_OnInPlaceActivateEx(ipsiteex, &redraw, 0);
|
||||
IOleInPlaceSiteEx_Release(ipsiteex);
|
||||
if(redraw)
|
||||
FIXME("unsupported redraw\n");
|
||||
}else{
|
||||
hres = IOleInPlaceSite_OnInPlaceActivate(This->ipsite);
|
||||
}
|
||||
if(FAILED(hres)) {
|
||||
WARN("OnInPlaceActivate failed: %08x\n", hres);
|
||||
This->in_place_active = FALSE;
|
||||
|
|
Loading…
Reference in New Issue