From 82bcad9d30fbe23affc93ec3fc272a3effbc0452 Mon Sep 17 00:00:00 2001 From: ed Date: Mon, 22 Nov 2021 16:39:41 +0000 Subject: [PATCH] Windows Accessibility: Only send window open/close events for main application windows to fix COM ref-counting leak --- .../native/accessibility/juce_win32_Accessibility.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/juce_gui_basics/native/accessibility/juce_win32_Accessibility.cpp b/modules/juce_gui_basics/native/accessibility/juce_win32_Accessibility.cpp index 68cae84947..d181a01559 100644 --- a/modules/juce_gui_basics/native/accessibility/juce_win32_Accessibility.cpp +++ b/modules/juce_gui_basics/native/accessibility/juce_win32_Accessibility.cpp @@ -164,6 +164,14 @@ void notifyAccessibilityEventInternal (const AccessibilityHandler& handler, Inte return; } + if (eventType == InternalAccessibilityEvent::windowOpened + || eventType == InternalAccessibilityEvent::windowClosed) + { + if (auto* peer = handler.getComponent().getPeer()) + if ((peer->getStyleFlags() & ComponentPeer::windowHasTitleBar) == 0) + return; + } + auto event = [eventType]() -> EVENTID { switch (eventType)