summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorzxcvdev <zxcvdev@protonmail.com>2020-01-18 08:43:54 +0100
committerzxcvdev <zxcvdev@protonmail.com>2020-01-18 09:54:07 +0100
commit9a90ea14259edc6596fa73e03d635ca822d9ac37 (patch)
tree5c9d203e36dc9fe50ace26d7a492ec2cfd3a1bbe /platform
parent94a9cdb3b0a3a0a0086babc11f10e854da3c169a (diff)
Fix crash when closing app on iphone
Diffstat (limited to 'platform')
-rw-r--r--platform/iphone/os_iphone.cpp24
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){};