diff options
author | zxcvdev <zxcvdev@protonmail.com> | 2020-01-18 08:43:54 +0100 |
---|---|---|
committer | zxcvdev <zxcvdev@protonmail.com> | 2020-01-18 09:54:07 +0100 |
commit | 9a90ea14259edc6596fa73e03d635ca822d9ac37 (patch) | |
tree | 5c9d203e36dc9fe50ace26d7a492ec2cfd3a1bbe /platform | |
parent | 94a9cdb3b0a3a0a0086babc11f10e854da3c169a (diff) |
Fix crash when closing app on iphone
Diffstat (limited to 'platform')
-rw-r--r-- | platform/iphone/os_iphone.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp index 7b1d0e6db1..3e5ab7b886 100644 --- a/platform/iphone/os_iphone.cpp +++ b/platform/iphone/os_iphone.cpp @@ -356,14 +356,32 @@ void OSIPhone::delete_main_loop() { void OSIPhone::finalize() { - if (main_loop) // should not happen? - memdelete(main_loop); + delete_main_loop(); + + memdelete(input); + memdelete(ios); + +#ifdef GAME_CENTER_ENABLED + memdelete(game_center); +#endif + +#ifdef STOREKIT_ENABLED + memdelete(store_kit); +#endif + +#ifdef ICLOUD_ENABLED + memdelete(icloud); +#endif visual_server->finish(); memdelete(visual_server); // memdelete(rasterizer); - memdelete(input); + // Free unhandled events before close + for (int i = 0; i < MAX_EVENTS; i++) { + event_queue[i].unref(); + }; + event_count = 0; }; void OSIPhone::set_mouse_show(bool p_show){}; |