diff --git a/Userland/Applications/FileManager/DirectoryView.cpp b/Userland/Applications/FileManager/DirectoryView.cpp index 4dd5682f17..d9f571bebf 100644 --- a/Userland/Applications/FileManager/DirectoryView.cpp +++ b/Userland/Applications/FileManager/DirectoryView.cpp @@ -551,7 +551,13 @@ void DirectoryView::do_delete(bool should_confirm) bool DirectoryView::can_modify_current_selection() { - return !current_view().selection().is_empty() && access(path().characters(), W_OK) == 0; + auto selections = current_view().selection().indices(); + // FIXME: remove once Clang formats this properly. + // clang-format off + return selections.first_matching([&](auto& index) { + return !Core::System::access(node(index.parent()).full_path(), W_OK).is_error(); + }).has_value(); + // clang-format on } void DirectoryView::handle_selection_change()