From f16a430f08521b245e97eabad6bfaab485262eab Mon Sep 17 00:00:00 2001 From: attila Date: Fri, 19 May 2023 16:38:51 +0200 Subject: [PATCH] Windows: Fix potential accessibility related leaks --- .../native/accessibility/juce_UIAGridItemProvider_windows.h | 4 ++-- .../native/accessibility/juce_UIAGridProvider_windows.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/juce_gui_basics/native/accessibility/juce_UIAGridItemProvider_windows.h b/modules/juce_gui_basics/native/accessibility/juce_UIAGridItemProvider_windows.h index 8e603e7a68..63bf4cca59 100644 --- a/modules/juce_gui_basics/native/accessibility/juce_UIAGridItemProvider_windows.h +++ b/modules/juce_gui_basics/native/accessibility/juce_UIAGridItemProvider_windows.h @@ -93,12 +93,12 @@ public: if (isPositiveAndBelow (column->begin, children.size())) { - IRawElementProviderSimple* provider = nullptr; + ComSmartPtr provider; if (auto* child = children[(size_t) column->begin]) { JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token") - if (child->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (&provider)) == S_OK && provider != nullptr) + if (child->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (provider.resetAndGetPointerAddress())) == S_OK && provider != nullptr) { *pRetVal = SafeArrayCreateVector (VT_UNKNOWN, 0, 1); LONG index = 0; diff --git a/modules/juce_gui_basics/native/accessibility/juce_UIAGridProvider_windows.h b/modules/juce_gui_basics/native/accessibility/juce_UIAGridProvider_windows.h index 8848b9ab9c..bec1be0e38 100644 --- a/modules/juce_gui_basics/native/accessibility/juce_UIAGridProvider_windows.h +++ b/modules/juce_gui_basics/native/accessibility/juce_UIAGridProvider_windows.h @@ -99,11 +99,11 @@ public: for (const auto& child : children) { - IRawElementProviderSimple* provider = nullptr; + ComSmartPtr provider; JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token") if (child != nullptr) - child->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (&provider)); + child->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (provider.resetAndGetPointerAddress())); JUCE_END_IGNORE_WARNINGS_GCC_LIKE if (provider == nullptr)