Merge pull request #110485 from bruvzg/aemb_dtr

Fix iOS/visionOS export plugin crash on exit.
This commit is contained in:
Rémi Verschelde 2025-10-13 07:35:19 +02:00 committed by GitHub
commit 4219ce91f2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 13 additions and 6 deletions

View file

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

View file

@ -98,6 +98,13 @@ protected:
check_for_changes_thread.start(_check_for_changes_poll_thread, this); 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); int _execute(const String &p_path, const List<String> &p_arguments, std::function<void(const String &)> p_on_data);
private: private:

View file

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

View file

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