diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-05-07 20:03:25 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-05-07 20:03:25 -0300 |
commit | 7c4a35496a350b3728be0818ada90a07d1c80328 (patch) | |
tree | 026961c07023bddce1bdd5f594d4a407f33e452b /main/main.cpp | |
parent | deba45ebf781eaf12964d530336b72b2fd78f2a5 (diff) | |
parent | 93095014fd87f1a33bdeaeb1f05eaab9342320bc (diff) |
Merge pull request #1844 from daltomi/SIGSEGV
Fix segment violation MINIZIP_ENABLED
Diffstat (limited to 'main/main.cpp')
-rw-r--r-- | main/main.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/main/main.cpp b/main/main.cpp index aa4a4b8919..1469ce4618 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(); |