From b8be383a5f4c827de01a3fea4179260420ef8b01 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Mon, 17 Nov 2025 15:38:58 +1300 Subject: [PATCH] Break a retain cycle between a UIAction and UIViewController --- .../Controllers/SiteMediaAddMediaMenuController.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift b/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift index 361f876defe0..dbf98cac1e9d 100644 --- a/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift +++ b/WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaAddMediaMenuController.swift @@ -37,9 +37,14 @@ final class SiteMediaAddMediaMenuController: NSObject, PHPickerViewControllerDel } if blog.isHostedAtWPcom, blog.isQuotaAvailable { children += [ - UIAction(title: Strings.viewUsage, subtitle: blog.quotaUsageShortDescription, image: UIImage(systemName: "opticaldiscdrive"), handler: { _ in + UIAction( + title: Strings.viewUsage, + subtitle: blog.quotaUsageShortDescription, + image: UIImage(systemName: "opticaldiscdrive") + ) { [weak self, weak viewController] _ in + guard let self, let viewController else { return } self.showQuotaView(from: viewController) - }) + } ] } return UIMenu(options: [.displayInline], children: children)