diff options
Diffstat (limited to 'Applications/FileManager/DirectoryView.cpp')
-rw-r--r-- | Applications/FileManager/DirectoryView.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Applications/FileManager/DirectoryView.cpp b/Applications/FileManager/DirectoryView.cpp index a9391c7c3c..af5570f02d 100644 --- a/Applications/FileManager/DirectoryView.cpp +++ b/Applications/FileManager/DirectoryView.cpp @@ -68,8 +68,9 @@ void DirectoryView::handle_activation(const GModelIndex& index) return; } - // FIXME: This doesn't seem like the right way to fully detect executability. - if (st.st_mode & S_IXUSR) { + ASSERT(!S_ISLNK(st.st_mode)); + + if (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) { if (fork() == 0) { int rc = execl(path.characters(), path.characters(), nullptr); if (rc < 0) |