Forráskód Böngészése

Fix iOS/visionOS export plugin crash on exit.

Pāvels Nadtočajevs 3 hónapja
szülő
commit
906aff5331

+ 0 - 6
editor/export/editor_export_platform_apple_embedded.cpp

@@ -2893,10 +2893,4 @@ EditorExportPlatformAppleEmbedded::EditorExportPlatformAppleEmbedded(const char
 }
 
 EditorExportPlatformAppleEmbedded::~EditorExportPlatformAppleEmbedded() {
-#ifdef MACOS_ENABLED
-	quit_request.set();
-	if (check_for_changes_thread.is_started()) {
-		check_for_changes_thread.wait_to_finish();
-	}
-#endif
 }

+ 7 - 0
editor/export/editor_export_platform_apple_embedded.h

@@ -98,6 +98,13 @@ protected:
 		check_for_changes_thread.start(_check_for_changes_poll_thread, this);
 	}
 
+	void _stop_remote_device_poller_thread() {
+		quit_request.set();
+		if (check_for_changes_thread.is_started()) {
+			check_for_changes_thread.wait_to_finish();
+		}
+	}
+
 	int _execute(const String &p_path, const List<String> &p_arguments, std::function<void(const String &)> p_on_data);
 
 private:

+ 3 - 0
platform/ios/export/export_plugin.cpp

@@ -43,6 +43,9 @@ EditorExportPlatformIOS::EditorExportPlatformIOS() :
 }
 
 EditorExportPlatformIOS::~EditorExportPlatformIOS() {
+#ifdef MACOS_ENABLED
+	_stop_remote_device_poller_thread();
+#endif
 }
 
 void EditorExportPlatformIOS::get_export_options(List<ExportOption> *r_options) const {

+ 3 - 0
platform/visionos/export/export_plugin.cpp

@@ -43,6 +43,9 @@ EditorExportPlatformVisionOS::EditorExportPlatformVisionOS() :
 }
 
 EditorExportPlatformVisionOS::~EditorExportPlatformVisionOS() {
+#ifdef MACOS_ENABLED
+	_stop_remote_device_poller_thread();
+#endif
 }
 
 void EditorExportPlatformVisionOS::get_export_options(List<ExportOption> *r_options) const {