diff --git a/dlls/oleacc/client.c b/dlls/oleacc/client.c index 8c3f0111ee9..cc7b53ad068 100644 --- a/dlls/oleacc/client.c +++ b/dlls/oleacc/client.c @@ -471,8 +471,11 @@ static ULONG WINAPI Client_OleWindow_Release(IOleWindow *iface) static HRESULT WINAPI Client_OleWindow_GetWindow(IOleWindow *iface, HWND *phwnd) { Client *This = impl_from_Client_OleWindow(iface); - FIXME("(%p)->(%p)\n", This, phwnd); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, phwnd); + + *phwnd = This->hwnd; + return S_OK; } static HRESULT WINAPI Client_OleWindow_ContextSensitiveHelp(IOleWindow *iface, BOOL fEnterMode) diff --git a/dlls/oleacc/tests/main.c b/dlls/oleacc/tests/main.c index 3783d36f441..dde2786a991 100644 --- a/dlls/oleacc/tests/main.c +++ b/dlls/oleacc/tests/main.c @@ -384,7 +384,7 @@ static void test_default_client_accessible_object(void) IAccessible *acc; IDispatch *disp; IOleWindow *ow; - HWND chld, hwnd; + HWND chld, hwnd, hwnd2; HRESULT hr; VARIANT vid, v; BSTR str; @@ -407,6 +407,9 @@ static void test_default_client_accessible_object(void) hr = IAccessible_QueryInterface(acc, &IID_IOleWindow, (void**)&ow); ok(hr == S_OK, "got %x\n", hr); + hr = IOleWindow_GetWindow(ow, &hwnd2); + ok(hr == S_OK, "got %x\n", hr); + ok(hwnd == hwnd2, "hwnd2 = %p, expected %p\n", hwnd2, hwnd); IOleWindow_Release(ow); hr = IAccessible_get_accChildCount(acc, &l);