You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Fix memory leak after closing files
(cherry picked from commit 53c0a29fb0)
This commit is contained in:
@@ -726,6 +726,7 @@ void EditorAssetLibrary::_image_update(bool use_cache, bool final, const PoolByt
|
||||
|
||||
image_data = cached_data;
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -800,6 +801,7 @@ void EditorAssetLibrary::_image_request_completed(int p_status, int p_code, cons
|
||||
if (file) {
|
||||
file->store_line(new_etag);
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
|
||||
int len = p_data.size();
|
||||
@@ -809,6 +811,7 @@ void EditorAssetLibrary::_image_request_completed(int p_status, int p_code, cons
|
||||
file->store_32(len);
|
||||
file->store_buffer(r.ptr(), len);
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -848,6 +851,7 @@ void EditorAssetLibrary::_update_image_queue() {
|
||||
if (file) {
|
||||
headers.push_back("If-None-Match: " + file->get_line());
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -241,7 +241,6 @@ void AppxPackager::make_block_map() {
|
||||
|
||||
tmp_file->close();
|
||||
memdelete(tmp_file);
|
||||
tmp_file = NULL;
|
||||
}
|
||||
|
||||
String AppxPackager::content_type(String p_extension) {
|
||||
@@ -291,7 +290,6 @@ void AppxPackager::make_content_types() {
|
||||
|
||||
tmp_file->close();
|
||||
memdelete(tmp_file);
|
||||
tmp_file = NULL;
|
||||
}
|
||||
|
||||
Vector<uint8_t> AppxPackager::make_file_header(FileMeta p_file_meta) {
|
||||
@@ -602,7 +600,6 @@ void AppxPackager::finish() {
|
||||
|
||||
blockmap_file->close();
|
||||
memdelete(blockmap_file);
|
||||
blockmap_file = NULL;
|
||||
|
||||
// Add content types
|
||||
EditorNode::progress_task_step("export", "Setting content types...", 5);
|
||||
@@ -618,7 +615,6 @@ void AppxPackager::finish() {
|
||||
|
||||
types_file->close();
|
||||
memdelete(types_file);
|
||||
types_file = NULL;
|
||||
|
||||
// Pre-process central directory before signing
|
||||
for (int i = 0; i < file_metadata.size(); i++) {
|
||||
|
||||
Reference in New Issue
Block a user