summaryrefslogtreecommitdiff
path: root/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'settings.cpp')
-rw-r--r--settings.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/settings.cpp b/settings.cpp
index 5c244435..14d4f0e4 100644
--- a/settings.cpp
+++ b/settings.cpp
@@ -149,7 +149,10 @@ bool Settings::UpdateProperty(
bool result =
BNSettingsUpdateStringListProperty(m_object, key.c_str(), property.c_str(), (const char**)buffer, value.size());
- BNFreeStringList(buffer, value.size());
+
+ for (size_t i = 0; i < value.size(); i++)
+ BNFreeString(buffer[i]);
+ delete[] buffer;
return result;
}
@@ -313,7 +316,10 @@ bool Settings::Set(const string& key, const vector<string>& value, Ref<BinaryVie
bool result = BNSettingsSetStringList(
m_object, view ? view->GetObject() : nullptr, scope, key.c_str(), (const char**)buffer, value.size());
- BNFreeStringList(buffer, value.size());
+
+ for (size_t i = 0; i < value.size(); i++)
+ BNFreeString(buffer[i]);
+ delete[] buffer;
return result;
}