summaryrefslogtreecommitdiffstats
path: root/platform/javascript/api/javascript_tools_editor_plugin.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-04-12 10:39:54 +0200
committerGitHub <noreply@github.com>2022-04-12 10:39:54 +0200
commitf586e06f7b7b1066bc234198a6c11123927cb87c (patch)
treeea9684d5549f9fc9439ffaf438373f5ca5608a9a /platform/javascript/api/javascript_tools_editor_plugin.cpp
parent2f7edae2b3064714b2e0fe8302366abc658955ce (diff)
parent4bf99f4af2c4918883c4382ead7de275fae21eea (diff)
downloadredot-engine-f586e06f7b7b1066bc234198a6c11123927cb87c.tar.gz
Merge pull request #60166 from bruvzg/narrow_file_access
Diffstat (limited to 'platform/javascript/api/javascript_tools_editor_plugin.cpp')
-rw-r--r--platform/javascript/api/javascript_tools_editor_plugin.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/platform/javascript/api/javascript_tools_editor_plugin.cpp b/platform/javascript/api/javascript_tools_editor_plugin.cpp
index 46eec8eda2..31ce71127d 100644
--- a/platform/javascript/api/javascript_tools_editor_plugin.cpp
+++ b/platform/javascript/api/javascript_tools_editor_plugin.cpp
@@ -81,12 +81,14 @@ void JavaScriptToolsEditorPlugin::_download_zip(Variant p_v) {
const String base_path = resource_path.substr(0, resource_path.rfind("/")) + "/";
_zip_recursive(resource_path, base_path, zip);
zipClose(zip, nullptr);
- Ref<FileAccess> f = FileAccess::open(output_path, FileAccess::READ);
- ERR_FAIL_COND_MSG(f.is_null(), "Unable to create ZIP file.");
- Vector<uint8_t> buf;
- buf.resize(f->get_length());
- f->get_buffer(buf.ptrw(), buf.size());
- godot_js_os_download_buffer(buf.ptr(), buf.size(), output_name.utf8().get_data(), "application/zip");
+ {
+ Ref<FileAccess> f = FileAccess::open(output_path, FileAccess::READ);
+ ERR_FAIL_COND_MSG(f.is_null(), "Unable to create ZIP file.");
+ Vector<uint8_t> buf;
+ buf.resize(f->get_length());
+ f->get_buffer(buf.ptrw(), buf.size());
+ godot_js_os_download_buffer(buf.ptr(), buf.size(), output_name.utf8().get_data(), "application/zip");
+ }
// Remove the temporary file since it was sent to the user's native filesystem as a download.
DirAccess::remove_file_or_error(output_path);