浏览代码

Merge pull request #110485 from bruvzg/aemb_dtr

Fix iOS/visionOS export plugin crash on exit.
Rémi Verschelde 2 月之前
父节点
当前提交
4219ce91f2

+ 0 - 6
editor/export/editor_export_platform_apple_embedded.cpp

@@ -2799,10 +2799,4 @@ void EditorExportPlatformAppleEmbedded::_initialize(const char *p_platform_logo_
 }
 
 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

@@ -47,6 +47,9 @@ void EditorExportPlatformIOS::initialize() {
 }
 
 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

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