diff options
| author | 2014-12-24 00:55:47 +0000 | |
|---|---|---|
| committer | 2014-12-24 00:55:49 +0000 | |
| commit | d598205c5ca2891f563c6a55c9b9687f80068b25 (patch) | |
| tree | 3529ed1e681f72982d4556c6e3b3624087bde2d2 /libs/hwui/ProgramCache.cpp | |
| parent | eeb46442cc723c7c5ea915e751debb52ea2817de (diff) | |
| parent | 51d6a3db97bdd5315f1a17a4b447d10a92217b98 (diff) | |
Merge "Cleanup various clang warnings, use unique_ptrs in several places"
Diffstat (limited to 'libs/hwui/ProgramCache.cpp')
| -rw-r--r-- | libs/hwui/ProgramCache.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/libs/hwui/ProgramCache.cpp b/libs/hwui/ProgramCache.cpp index 62835e01cb3a..6d3f0cbc1af3 100644 --- a/libs/hwui/ProgramCache.cpp +++ b/libs/hwui/ProgramCache.cpp @@ -417,11 +417,6 @@ ProgramCache::~ProgramCache() { void ProgramCache::clear() { PROGRAM_LOGD("Clearing program cache"); - - size_t count = mCache.size(); - for (size_t i = 0; i < count; i++) { - delete mCache.valueAt(i); - } mCache.clear(); } @@ -433,14 +428,14 @@ Program* ProgramCache::get(const ProgramDescription& description) { key = PROGRAM_KEY_TEXTURE; } - ssize_t index = mCache.indexOfKey(key); + auto iter = mCache.find(key); Program* program = NULL; - if (index < 0) { + if (iter == mCache.end()) { description.log("Could not find program"); program = generateProgram(description, key); - mCache.add(key, program); + mCache[key] = std::unique_ptr<Program>(program); } else { - program = mCache.valueAt(index); + program = iter->second.get(); } return program; } |