From f024e7ab09d01c757590b0aee9ded5e80f148cfe Mon Sep 17 00:00:00 2001 From: reuk Date: Tue, 27 Feb 2024 16:08:46 +0000 Subject: [PATCH] iOS: Allow multiple instances of ScopedJuceInitialiser_GUI Previously, the UnitTestRunner example in the DemoRunner would fail on any tests that included ScopedJuceInitialiser_GUI, as DeletedAtShutdown objects would be destroyed too early. --- modules/juce_gui_basics/native/juce_Windowing_ios.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/juce_gui_basics/native/juce_Windowing_ios.mm b/modules/juce_gui_basics/native/juce_Windowing_ios.mm index 65da8721ff..464d5fbec4 100644 --- a/modules/juce_gui_basics/native/juce_Windowing_ios.mm +++ b/modules/juce_gui_basics/native/juce_Windowing_ios.mm @@ -53,6 +53,7 @@ namespace juce #endif { UIBackgroundTaskIdentifier appSuspendTask; + std::optional initialiser; } @property (strong, nonatomic) UIWindow *window; @@ -137,7 +138,7 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE - (void) applicationDidFinishLaunching: (UIApplication*) application { ignoreUnused (application); - initialiseJuce_GUI(); + initialiser.emplace(); if (auto* app = JUCEApplicationBase::createInstance()) {