This commit is contained in:
Scott E. Graves 2024-11-07 14:12:17 -06:00
parent 793ec5b4a5
commit eb4fe4ff60
2 changed files with 18 additions and 6 deletions

View File

@ -459,21 +459,23 @@ auto open_file::close() -> bool {
}
}
err = get_api_error();
nf_->close();
if (modified_) {
if (get_api_error() == api_error::success) {
if (err == api_error::success) {
mgr_.queue_upload(*this);
return true;
}
if (get_api_error() == api_error::download_incomplete) {
if (err == api_error::download_incomplete) {
mgr_.store_resume(*this);
return true;
}
}
if (get_api_error() == api_error::success) {
if (err == api_error::success) {
return true;
}

View File

@ -237,17 +237,27 @@ auto open_file_base::is_modified() const -> bool {
void open_file_base::remove(std::uint64_t handle) {
recur_mutex_lock file_lock(file_mtx_);
if (open_data_.find(handle) == open_data_.end()) {
return;
}
open_data_.erase(handle);
event_system::instance().raise<filesystem_item_handle_closed>(
fsi_.api_path, handle, fsi_.source_path, fsi_.directory, modified_);
if (open_data_.empty()) {
event_system::instance().raise<filesystem_item_closed>(
fsi_.api_path, fsi_.source_path, fsi_.directory, modified_);
if (not open_data_.empty()) {
return;
}
event_system::instance().raise<filesystem_item_closed>(
fsi_.api_path, fsi_.source_path, fsi_.directory, modified_);
}
void open_file_base::remove_all() {
recur_mutex_lock file_lock(file_mtx_);
if (open_data_.empty()) {
return;
}
auto open_data = open_data_;
open_data_.clear();