From 497cc1deb8382bd97737a535be1c401f82f13860 Mon Sep 17 00:00:00 2001 From: Vladimir Belyavsky Date: Wed, 4 Dec 2024 15:03:40 +0300 Subject: [PATCH] QCocoaFileDialogHelper: protect more against dangling pointers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is in addition to 10b5b4cbba79416e69c8b4ceea4874a9af26a237, where we made m_helper QPointer to make sure it was still valid before accessing it. There is one more place in completionHandler where we need the same check. Fixes: QTBUG-131880 Pick-to: 6.5 Change-Id: Id51d2c68db23b897b145ad25dd1c73b3f5eb9cc1 Reviewed-by: Tor Arne Vestbø (cherry picked from commit a794f957c4c17fbcb12a4b78f58240d109c150d5) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm index 41170b74eaa..26e67f8354c 100644 --- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm @@ -164,7 +164,10 @@ typedef QSharedPointer SharedPointerFileDialogOptions; [self updateProperties]; - auto completionHandler = ^(NSInteger result) { m_helper->panelClosed(result); }; + auto completionHandler = ^(NSInteger result) { + if (m_helper) + m_helper->panelClosed(result); + }; if (windowModality == Qt::WindowModal && parent) { NSView *view = reinterpret_cast(parent->winId());