From 207389a06042e383ae5e15f37adda190e1e04ab6 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 30 Jun 2013 14:05:22 +0200 Subject: [PATCH] BResources::SetTo(): try opening read-only on error Fixes #9843. --- src/kits/storage/Resources.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kits/storage/Resources.cpp b/src/kits/storage/Resources.cpp index 3451abee35..c962cc566f 100644 --- a/src/kits/storage/Resources.cpp +++ b/src/kits/storage/Resources.cpp @@ -141,6 +141,8 @@ BResources::SetTo(const char* path, bool clobber) // open file BFile file; status_t error = file.SetTo(path, B_READ_WRITE); + if (error != B_OK && error != B_ENTRY_NOT_FOUND) + error = file.SetTo(path, B_READ_ONLY); if (error != B_OK) { Unset(); return error; @@ -162,6 +164,8 @@ BResources::SetTo(const entry_ref* ref, bool clobber) // open file BFile file; status_t error = file.SetTo(ref, B_READ_WRITE); + if (error != B_OK && error != B_ENTRY_NOT_FOUND) + error = file.SetTo(ref, B_READ_ONLY); if (error != B_OK) { Unset(); return error;