mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-05-13 16:37:27 +00:00
Merge branch 'copilot/fix-test-failure' of https://github.com/kovidgoyal/kitty
This commit is contained in:
commit
eedc849a9e
2 changed files with 8 additions and 1 deletions
|
|
@ -347,7 +347,7 @@ func (dnd *dnd) start_remote_data_send(ds *drag_source) (err error) {
|
|||
return err
|
||||
}
|
||||
} else {
|
||||
f := remote_data_item{idx_in_parent: i, metadata: x.metadata, path: x.path}
|
||||
f := remote_data_item{idx_in_parent: i, idx_in_uri_list: i, metadata: x.metadata, path: x.path}
|
||||
dnd.drag_status.remote_items = append(dnd.drag_status.remote_items, &f)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1735,13 +1735,20 @@ finish_remote_data(Window *w, size_t item_idx) {
|
|||
ds.items[item_idx].requested_remote_files = false;
|
||||
if (safe_ftruncate(fd, 0) != 0) abrt(errno);
|
||||
if (lseek(fd, 0, SEEK_SET) == -1) abrt(errno);
|
||||
size_t new_size = 0;
|
||||
for (size_t i = 0; i < ds.items[item_idx].num_uris; i++) {
|
||||
int ret = write_all(fd, ds.items[item_idx].uri_list[i], strlen(ds.items[item_idx].uri_list[i]));
|
||||
new_size += strlen(ds.items[item_idx].uri_list[i]);
|
||||
free((char*)ds.items[item_idx].uri_list[i]); ds.items[item_idx].uri_list[i] = NULL;
|
||||
if (ret) abrt(ret);
|
||||
if ((ret = write_all(fd, "\r\n", 2))) abrt(ret);
|
||||
new_size += 2;
|
||||
}
|
||||
free(ds.items[item_idx].uri_list); ds.items[item_idx].uri_list = NULL; ds.items[item_idx].num_uris = 0;
|
||||
// The fd has been completely rewritten with updated (cached) URIs; update the read tracking
|
||||
// fields so drag_get_data returns the full new content starting from the beginning.
|
||||
ds.items[item_idx].data_capacity = new_size;
|
||||
ds.items[item_idx].data_size = 0;
|
||||
int ret = dnd_is_test_mode() ? 0 : notify_drag_data_ready(global_state.drag_source.from_os_window, ds.items[item_idx].mime_type);
|
||||
if (ret) abrt(ret);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue