summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Src/LinearDiskCache.cpp
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2010-06-19 16:22:24 +0000
committerhrydgard <hrydgard@gmail.com>2010-06-19 16:22:24 +0000
commitccbc1feb0bc7c63cb6c06434d4d0620bef3ac67e (patch)
tree3c235052332a70273f12114d2113195b3df8a167 /Source/Core/Common/Src/LinearDiskCache.cpp
parent8c6ae1f6f40ec65a1646583a29bbff6bab209821 (diff)
D3D9: Fix issue where the shader caches were lost whenever the render window was resized. Add some error logging to LinearDiskCache. + some minor cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5747 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/Common/Src/LinearDiskCache.cpp')
-rw-r--r--Source/Core/Common/Src/LinearDiskCache.cpp27
1 files changed, 23 insertions, 4 deletions
diff --git a/Source/Core/Common/Src/LinearDiskCache.cpp b/Source/Core/Common/Src/LinearDiskCache.cpp
index 372628d4da..e5f3fb1d32 100644
--- a/Source/Core/Common/Src/LinearDiskCache.cpp
+++ b/Source/Core/Common/Src/LinearDiskCache.cpp
@@ -46,6 +46,11 @@ bool LinearDiskCache::ValidateHeader() {
}
int LinearDiskCache::OpenAndRead(const char *filename, LinearDiskCacheReader *reader) {
+ if (file_)
+ {
+ ERROR_LOG(VIDEO, "LinearDiskCache trying to open an alredy opened cache");
+ return 0;
+ }
int items_read_count = 0;
file_ = fopen(filename, "rb");
int file_size = 0;
@@ -143,11 +148,25 @@ void LinearDiskCache::Append(
}
void LinearDiskCache::Sync() {
- fflush(file_);
+ if (file_)
+ {
+ fflush(file_);
+ }
+ else
+ {
+ ERROR_LOG(VIDEO, "LinearDiskCache trying to sync closed cache");
+ }
}
void LinearDiskCache::Close() {
- fclose(file_);
- file_ = 0;
- num_entries_ = 0;
+ if (file_)
+ {
+ fclose(file_);
+ file_ = 0;
+ num_entries_ = 0;
+ }
+ else
+ {
+ ERROR_LOG(VIDEO, "LinearDiskCache trying to close an alredy closed cache");
+ }
}