summaryrefslogtreecommitdiff
path: root/Source/Core/Common/DirectIOFile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/DirectIOFile.cpp')
-rw-r--r--Source/Core/Common/DirectIOFile.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/Common/DirectIOFile.cpp b/Source/Core/Common/DirectIOFile.cpp
index d72e98fa3b..bfe598dc48 100644
--- a/Source/Core/Common/DirectIOFile.cpp
+++ b/Source/Core/Common/DirectIOFile.cpp
@@ -86,8 +86,11 @@ bool DirectIOFile::Open(const std::string& path, AccessMode access_mode, OpenMod
else if (access_mode == AccessMode::Write)
desired_access = GENERIC_WRITE;
- // Allow deleting and renaming through our handle.
- desired_access |= DELETE;
+ if (access_mode != AccessMode::Read)
+ {
+ // Allow deleting and renaming through our handle.
+ desired_access |= DELETE;
+ }
// All sharing is allowed to more closely match default behavior on other OSes.
constexpr DWORD share_mode = FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE;