summaryrefslogtreecommitdiffstats
path: root/accessible
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--accessible/windows/msaa/MsaaAccessible.cpp7
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) {