Merge pull request #1844 from daltomi/SIGSEGV
Fix segment violation MINIZIP_ENABLED
This commit is contained in:
commit
7c4a35496a
2 changed files with 16 additions and 5 deletions
|
@ -92,7 +92,9 @@ void PackedData::add_path(const String& pkg_path, const String& path, uint64_t o
|
|||
|
||||
void PackedData::add_pack_source(PackSource *p_source) {
|
||||
|
||||
if (p_source != NULL) {
|
||||
sources.push_back(p_source);
|
||||
}
|
||||
};
|
||||
|
||||
PackedData *PackedData::singleton=NULL;
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue