diff options
| author | hrydgard <hrydgard@gmail.com> | 2010-06-19 16:22:24 +0000 |
|---|---|---|
| committer | hrydgard <hrydgard@gmail.com> | 2010-06-19 16:22:24 +0000 |
| commit | ccbc1feb0bc7c63cb6c06434d4d0620bef3ac67e (patch) | |
| tree | 3c235052332a70273f12114d2113195b3df8a167 /Source/Core/Common/Src/LinearDiskCache.cpp | |
| parent | 8c6ae1f6f40ec65a1646583a29bbff6bab209821 (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.cpp | 27 |
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"); + } } |
