aboutsummaryrefslogtreecommitdiff
path: root/main/main.cpp
diff options
context:
space:
mode:
authorDaniel T. Borelli2015-05-06 20:37:25 -0300
committerDaniel T. Borelli2015-05-06 20:37:25 -0300
commit93095014fd87f1a33bdeaeb1f05eaab9342320bc (patch)
tree9ddc5c058e2fce79457adfce9e2a76a6f15f96f9 /main/main.cpp
parent7156aff16041ea56ff1f3aea2a622c130bcca7a9 (diff)
downloadgodot-93095014fd87f1a33bdeaeb1f05eaab9342320bc.tar.gz
godot-93095014fd87f1a33bdeaeb1f05eaab9342320bc.tar.zst
godot-93095014fd87f1a33bdeaeb1f05eaab9342320bc.zip
Fix segment violation MINIZIP_ENABLED
Diffstat (limited to 'main/main.cpp')
-rw-r--r--main/main.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/main/main.cpp b/main/main.cpp
index aa4a4b891..1469ce461 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -251,7 +251,14 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas
packed_data = memnew(PackedData);
#ifdef MINIZIP_ENABLED
+
+ //XXX: always get_singleton() == 0x0
zip_packed_data = ZipArchive::get_singleton();
+ //TODO: remove this temporary fix
+ if (!zip_packed_data) {
+ zip_packed_data = memnew(ZipArchive);
+ }
+
packed_data->add_pack_source(zip_packed_data);
#endif
@@ -748,10 +755,12 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas
if (file_access_network_client)
memdelete(file_access_network_client);
-#ifdef MINIZIP_ENABLED
- if (zip_packed_data)
- memdelete( zip_packed_data );
-#endif
+// Note 1: *zip_packed_data live into *packed_data
+// Note 2: PackedData::~PackedData destroy this.
+//#ifdef MINIZIP_ENABLED
+// if (zip_packed_data)
+// memdelete( zip_packed_data );
+//#endif
unregister_core_types();