diff options
Diffstat (limited to '')
-rw-r--r-- | accessible/windows/msaa/MsaaAccessible.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/accessible/windows/msaa/MsaaAccessible.cpp b/accessible/windows/msaa/MsaaAccessible.cpp index 56e8cfd058..ba6e536d4b 100644 --- a/accessible/windows/msaa/MsaaAccessible.cpp +++ b/accessible/windows/msaa/MsaaAccessible.cpp @@ -508,6 +508,13 @@ MsaaAccessible::QueryInterface(REFIID iid, void** ppv) { return E_NOINTERFACE; } + if (NS_WARN_IF(!NS_IsMainThread())) { + // Bug 1896816: JAWS sometimes traverses into Gecko UI from a file dialog + // thread. It shouldn't do that, but let's fail gracefully instead of + // crashing. + return RPC_E_WRONG_THREAD; + } + // These interfaces are always available. We can support querying to them // even if the Accessible is dead. if (IID_IUnknown == iid) { |