diff options
author | Jan-Arve Saether <jan-arve.saether@nokia.com> | 2012-03-27 07:09:22 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-27 12:29:46 +0200 |
commit | 8d28f263aa14cc450085c9df3623a483b6021c56 (patch) | |
tree | ba3d096a88b6c8566829daec5d7e884ae56de065 /src/plugins/platforms/windows/accessible | |
parent | 6540a42ee0679d021dba5dd87b14f9e0ae7e7a56 (diff) |
Fix IAccessible2 for Windows, enable MSAA/IAccessible for MinGW.
Commit 5e9089135bfe7db7d7a43c9ee4d4c24ab8f6458d had some problems:
* It left out the cast to IServiceProvider in the refactoring of
QueryInterface. This broke IAccessible2.
* It also failed to enable the codepath for MinGW inside wrap(), which
effectively caused MSAA for MinGW to be disabled.
It also adds an autotest to the bridge (finally). It is simple,
but it should help avoiding committing stuff that completely breaks
the bridge.
Change-Id: I459d89c3bdb93e54ddea85872b50fc1dba0fe4a0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/plugins/platforms/windows/accessible')
-rw-r--r-- | src/plugins/platforms/windows/accessible/iaccessible2.cpp | 4 | ||||
-rw-r--r-- | src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp | 4 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/plugins/platforms/windows/accessible/iaccessible2.cpp b/src/plugins/platforms/windows/accessible/iaccessible2.cpp index c3d5c543cf..be680e7d48 100644 --- a/src/plugins/platforms/windows/accessible/iaccessible2.cpp +++ b/src/plugins/platforms/windows/accessible/iaccessible2.cpp @@ -169,7 +169,9 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::QueryInterface(REFIID id, LPVOI { HRESULT hr = QWindowsMsaaAccessible::QueryInterface(id, iface); if (!SUCCEEDED(hr)) { - if (id == IID_IAccessible2) { + if (id == IID_IServiceProvider) { + *iface = (IServiceProvider*)this; + } else if (id == IID_IAccessible2) { *iface = (IAccessible2*)this; } else if (id == IID_IAccessibleAction) { if (accessible->actionInterface()) diff --git a/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp index bd928399c8..0672a86dd9 100644 --- a/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp +++ b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp @@ -232,9 +232,6 @@ QWindow *QWindowsAccessibility::windowHelper(const QAccessibleInterface *iface) */ IAccessible *QWindowsAccessibility::wrap(QAccessibleInterface *acc) { -#ifdef Q_CC_MINGW - return 0; -#else if (!acc) return 0; #ifdef Q_CC_MINGW @@ -245,7 +242,6 @@ IAccessible *QWindowsAccessibility::wrap(QAccessibleInterface *acc) IAccessible *iacc = 0; wacc->QueryInterface(IID_IAccessible, (void**)&iacc); return iacc; -#endif } /*! |