1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-08 12:40:44 +00:00

Add uri_file_decode to handle + in file names.

This commit is contained in:
Pāvels Nadtočajevs
2025-04-07 22:49:57 +03:00
parent af2c713971
commit 9abe2e5294
13 changed files with 52 additions and 10 deletions

View File

@@ -473,7 +473,7 @@ bool FreeDesktopPortalDesktop::file_chooser_parse_response(DBusMessageIter *p_it
while (dbus_message_iter_get_arg_type(&uri_iter) == DBUS_TYPE_STRING) {
const char *value;
dbus_message_iter_get_basic(&uri_iter, &value);
r_urls.push_back(String::utf8(value).trim_prefix("file://").uri_decode());
r_urls.push_back(String::utf8(value).trim_prefix("file://").uri_file_decode());
if (!dbus_message_iter_next(&uri_iter)) {
break;
}

View File

@@ -2147,7 +2147,7 @@ void WaylandThread::_wl_data_device_on_drop(void *data, struct wl_data_device *w
msg->files = String::utf8((const char *)list_data.ptr(), list_data.size()).split("\r\n", false);
for (int i = 0; i < msg->files.size(); i++) {
msg->files.write[i] = msg->files[i].replace("file://", "").uri_decode();
msg->files.write[i] = msg->files[i].replace("file://", "").uri_file_decode();
}
wayland_thread->push_message(msg);

View File

@@ -5321,7 +5321,7 @@ void DisplayServerX11::process_events() {
Vector<String> files = String((char *)p.data).split("\r\n", false);
XFree(p.data);
for (int i = 0; i < files.size(); i++) {
files.write[i] = files[i].replace("file://", "").uri_decode();
files.write[i] = files[i].replace("file://", "").uri_file_decode();
}
if (windows[window_id].drop_files_callback.is_valid()) {