fix leaks in SkConf
These leaks were small and would only happen with non-default runtime configuration things set, but they were still leaks and they should be squished. Valgrind reported leaks pre-patch, and all the rtconf leaks are gone after patch. BUG=skia:1722 R=reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/136963004 git-svn-id: http://skia.googlecode.com/svn/trunk@13269 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
973d1211c6
commit
bf6a6d4504
@ -74,6 +74,7 @@ protected:
|
||||
class SkRTConfRegistry {
|
||||
public:
|
||||
SkRTConfRegistry();
|
||||
~SkRTConfRegistry();
|
||||
void printAll(const char *fname = NULL) const;
|
||||
bool hasNonDefault() const;
|
||||
void printNonDefault(const char *fname = NULL) const;
|
||||
|
@ -44,8 +44,8 @@ SkRTConfRegistry::SkRTConfRegistry(): fConfs(100) {
|
||||
continue;
|
||||
}
|
||||
|
||||
SkString* key = new SkString(keyptr);
|
||||
SkString* val = new SkString(valptr);
|
||||
SkString* key = SkNEW_ARGS(SkString,(keyptr));
|
||||
SkString* val = SkNEW_ARGS(SkString,(valptr));
|
||||
|
||||
fConfigFileKeys.append(1, &key);
|
||||
fConfigFileValues.append(1, &val);
|
||||
@ -53,6 +53,20 @@ SkRTConfRegistry::SkRTConfRegistry(): fConfs(100) {
|
||||
sk_fclose(fp);
|
||||
}
|
||||
|
||||
SkRTConfRegistry::~SkRTConfRegistry() {
|
||||
ConfMap::Iter iter(fConfs);
|
||||
SkTDArray<SkRTConfBase *> *confArray;
|
||||
|
||||
while (iter.next(&confArray)) {
|
||||
delete confArray;
|
||||
}
|
||||
|
||||
for (int i = 0 ; i < fConfigFileKeys.count() ; i++) {
|
||||
SkDELETE(fConfigFileKeys[i]);
|
||||
SkDELETE(fConfigFileValues[i]);
|
||||
}
|
||||
}
|
||||
|
||||
const char *SkRTConfRegistry::configFileLocation() const {
|
||||
return "skia.conf"; // for now -- should probably do something fancier like home directories or whatever.
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user