Make FileAccess and DirAccess classes reference counted.
This commit is contained in:
parent
ca9372622f
commit
9381acb6a4
193 changed files with 1122 additions and 1776 deletions
|
|
@ -729,9 +729,8 @@ void EditorAssetLibrary::_image_update(bool use_cache, bool final, const PackedB
|
|||
if (use_cache) {
|
||||
String cache_filename_base = EditorPaths::get_singleton()->get_cache_dir().plus_file("assetimage_" + image_queue[p_queue_id].image_url.md5_text());
|
||||
|
||||
FileAccess *file = FileAccess::open(cache_filename_base + ".data", FileAccess::READ);
|
||||
|
||||
if (file) {
|
||||
Ref<FileAccess> file = FileAccess::open(cache_filename_base + ".data", FileAccess::READ);
|
||||
if (file.is_valid()) {
|
||||
PackedByteArray cached_data;
|
||||
int len = file->get_32();
|
||||
cached_data.resize(len);
|
||||
|
|
@ -740,8 +739,6 @@ void EditorAssetLibrary::_image_update(bool use_cache, bool final, const PackedB
|
|||
file->get_buffer(w, len);
|
||||
|
||||
image_data = cached_data;
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -808,23 +805,17 @@ void EditorAssetLibrary::_image_request_completed(int p_status, int p_code, cons
|
|||
if (headers[i].findn("ETag:") == 0) { // Save etag
|
||||
String cache_filename_base = EditorPaths::get_singleton()->get_cache_dir().plus_file("assetimage_" + image_queue[p_queue_id].image_url.md5_text());
|
||||
String new_etag = headers[i].substr(headers[i].find(":") + 1, headers[i].length()).strip_edges();
|
||||
FileAccess *file;
|
||||
|
||||
file = FileAccess::open(cache_filename_base + ".etag", FileAccess::WRITE);
|
||||
if (file) {
|
||||
Ref<FileAccess> file = FileAccess::open(cache_filename_base + ".etag", FileAccess::WRITE);
|
||||
if (file.is_valid()) {
|
||||
file->store_line(new_etag);
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
|
||||
int len = p_data.size();
|
||||
const uint8_t *r = p_data.ptr();
|
||||
file = FileAccess::open(cache_filename_base + ".data", FileAccess::WRITE);
|
||||
if (file) {
|
||||
if (file.is_valid()) {
|
||||
file->store_32(len);
|
||||
file->store_buffer(r, len);
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
@ -858,11 +849,9 @@ void EditorAssetLibrary::_update_image_queue() {
|
|||
Vector<String> headers;
|
||||
|
||||
if (FileAccess::exists(cache_filename_base + ".etag") && FileAccess::exists(cache_filename_base + ".data")) {
|
||||
FileAccess *file = FileAccess::open(cache_filename_base + ".etag", FileAccess::READ);
|
||||
if (file) {
|
||||
Ref<FileAccess> file = FileAccess::open(cache_filename_base + ".etag", FileAccess::READ);
|
||||
if (file.is_valid()) {
|
||||
headers.push_back("If-None-Match: " + file->get_line());
|
||||
file->close();
|
||||
memdelete(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1091,13 +1091,11 @@ void ScriptEditor::_file_dialog_action(String p_file) {
|
|||
switch (file_dialog_option) {
|
||||
case FILE_NEW_TEXTFILE: {
|
||||
Error err;
|
||||
FileAccess *file = FileAccess::open(p_file, FileAccess::WRITE, &err);
|
||||
Ref<FileAccess> file = FileAccess::open(p_file, FileAccess::WRITE, &err);
|
||||
if (err) {
|
||||
EditorNode::get_singleton()->show_warning(TTR("Error writing TextFile:") + "\n" + p_file, TTR("Error!"));
|
||||
break;
|
||||
}
|
||||
file->close();
|
||||
memdelete(file);
|
||||
|
||||
if (EditorFileSystem::get_singleton()) {
|
||||
if (textfile_extensions.has(p_file.get_extension())) {
|
||||
|
|
@ -2211,17 +2209,14 @@ Error ScriptEditor::_save_text_file(Ref<TextFile> p_text_file, const String &p_p
|
|||
String source = sqscr->get_text();
|
||||
|
||||
Error err;
|
||||
FileAccess *file = FileAccess::open(p_path, FileAccess::WRITE, &err);
|
||||
Ref<FileAccess> file = FileAccess::open(p_path, FileAccess::WRITE, &err);
|
||||
|
||||
ERR_FAIL_COND_V_MSG(err, err, "Cannot save text file '" + p_path + "'.");
|
||||
|
||||
file->store_string(source);
|
||||
if (file->get_error() != OK && file->get_error() != ERR_FILE_EOF) {
|
||||
memdelete(file);
|
||||
return ERR_CANT_CREATE;
|
||||
}
|
||||
file->close();
|
||||
memdelete(file);
|
||||
|
||||
if (ResourceSaver::get_timestamp_on_save()) {
|
||||
p_text_file->set_last_modified_time(FileAccess::get_modified_time(p_path));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue