|
@@ -243,8 +243,7 @@ void ScriptsTool::ReloadScript(const char *path)
|
|
if (strcmp(script_path, path) == 0) {
|
|
if (strcmp(script_path, path) == 0) {
|
|
obs_script_reload(script);
|
|
obs_script_reload(script);
|
|
|
|
|
|
- OBSData settings = obs_data_create();
|
|
|
|
- obs_data_release(settings);
|
|
|
|
|
|
+ OBSDataAutoRelease settings = obs_data_create();
|
|
|
|
|
|
obs_properties_t *prop =
|
|
obs_properties_t *prop =
|
|
obs_script_get_properties(script);
|
|
obs_script_get_properties(script);
|
|
@@ -275,9 +274,9 @@ void ScriptsTool::SetScriptDefaults(const char *path)
|
|
for (OBSScript &script : scriptData->scripts) {
|
|
for (OBSScript &script : scriptData->scripts) {
|
|
const char *script_path = obs_script_get_path(script);
|
|
const char *script_path = obs_script_get_path(script);
|
|
if (strcmp(script_path, path) == 0) {
|
|
if (strcmp(script_path, path) == 0) {
|
|
- obs_data_t *settings = obs_script_get_settings(script);
|
|
|
|
|
|
+ OBSDataAutoRelease settings =
|
|
|
|
+ obs_script_get_settings(script);
|
|
obs_data_clear(settings);
|
|
obs_data_clear(settings);
|
|
- obs_data_release(settings);
|
|
|
|
|
|
|
|
obs_script_update(script, nullptr);
|
|
obs_script_update(script, nullptr);
|
|
on_reloadScripts_clicked();
|
|
on_reloadScripts_clicked();
|
|
@@ -353,8 +352,7 @@ void ScriptsTool::on_addScripts_clicked()
|
|
item->setData(Qt::UserRole, QString(file));
|
|
item->setData(Qt::UserRole, QString(file));
|
|
ui->scripts->addItem(item);
|
|
ui->scripts->addItem(item);
|
|
|
|
|
|
- OBSData settings = obs_data_create();
|
|
|
|
- obs_data_release(settings);
|
|
|
|
|
|
+ OBSDataAutoRelease settings = obs_data_create();
|
|
|
|
|
|
obs_properties_t *prop =
|
|
obs_properties_t *prop =
|
|
obs_script_get_properties(script);
|
|
obs_script_get_properties(script);
|
|
@@ -499,11 +497,10 @@ void ScriptsTool::on_scripts_currentRowChanged(int row)
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- OBSData settings = obs_script_get_settings(script);
|
|
|
|
- obs_data_release(settings);
|
|
|
|
|
|
+ OBSDataAutoRelease settings = obs_script_get_settings(script);
|
|
|
|
|
|
propertiesView = new OBSPropertiesView(
|
|
propertiesView = new OBSPropertiesView(
|
|
- settings, script,
|
|
|
|
|
|
+ settings.Get(), script,
|
|
(PropertiesReloadCallback)obs_script_get_properties, nullptr,
|
|
(PropertiesReloadCallback)obs_script_get_properties, nullptr,
|
|
(PropertiesVisualUpdateCb)obs_script_update);
|
|
(PropertiesVisualUpdateCb)obs_script_update);
|
|
ui->propertiesLayout->addWidget(propertiesView);
|
|
ui->propertiesLayout->addWidget(propertiesView);
|
|
@@ -585,30 +582,26 @@ static void obs_event(enum obs_frontend_event event, void *)
|
|
|
|
|
|
static void load_script_data(obs_data_t *load_data, bool, void *)
|
|
static void load_script_data(obs_data_t *load_data, bool, void *)
|
|
{
|
|
{
|
|
- obs_data_array_t *array = obs_data_get_array(load_data, "scripts-tool");
|
|
|
|
|
|
+ OBSDataArrayAutoRelease array =
|
|
|
|
+ obs_data_get_array(load_data, "scripts-tool");
|
|
|
|
|
|
delete scriptData;
|
|
delete scriptData;
|
|
scriptData = new ScriptData;
|
|
scriptData = new ScriptData;
|
|
|
|
|
|
size_t size = obs_data_array_count(array);
|
|
size_t size = obs_data_array_count(array);
|
|
for (size_t i = 0; i < size; i++) {
|
|
for (size_t i = 0; i < size; i++) {
|
|
- obs_data_t *obj = obs_data_array_item(array, i);
|
|
|
|
|
|
+ OBSDataAutoRelease obj = obs_data_array_item(array, i);
|
|
const char *path = obs_data_get_string(obj, "path");
|
|
const char *path = obs_data_get_string(obj, "path");
|
|
- obs_data_t *settings = obs_data_get_obj(obj, "settings");
|
|
|
|
|
|
+ OBSDataAutoRelease settings = obs_data_get_obj(obj, "settings");
|
|
|
|
|
|
obs_script_t *script = obs_script_create(path, settings);
|
|
obs_script_t *script = obs_script_create(path, settings);
|
|
if (script) {
|
|
if (script) {
|
|
scriptData->scripts.emplace_back(script);
|
|
scriptData->scripts.emplace_back(script);
|
|
}
|
|
}
|
|
-
|
|
|
|
- obs_data_release(settings);
|
|
|
|
- obs_data_release(obj);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (scriptsWindow)
|
|
if (scriptsWindow)
|
|
scriptsWindow->RefreshLists();
|
|
scriptsWindow->RefreshLists();
|
|
-
|
|
|
|
- obs_data_array_release(array);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static void save_script_data(obs_data_t *save_data, bool saving, void *)
|
|
static void save_script_data(obs_data_t *save_data, bool saving, void *)
|
|
@@ -616,23 +609,19 @@ static void save_script_data(obs_data_t *save_data, bool saving, void *)
|
|
if (!saving)
|
|
if (!saving)
|
|
return;
|
|
return;
|
|
|
|
|
|
- obs_data_array_t *array = obs_data_array_create();
|
|
|
|
|
|
+ OBSDataArrayAutoRelease array = obs_data_array_create();
|
|
|
|
|
|
for (OBSScript &script : scriptData->scripts) {
|
|
for (OBSScript &script : scriptData->scripts) {
|
|
const char *script_path = obs_script_get_path(script);
|
|
const char *script_path = obs_script_get_path(script);
|
|
- obs_data_t *settings = obs_script_save(script);
|
|
|
|
|
|
+ OBSDataAutoRelease settings = obs_script_save(script);
|
|
|
|
|
|
- obs_data_t *obj = obs_data_create();
|
|
|
|
|
|
+ OBSDataAutoRelease obj = obs_data_create();
|
|
obs_data_set_string(obj, "path", script_path);
|
|
obs_data_set_string(obj, "path", script_path);
|
|
obs_data_set_obj(obj, "settings", settings);
|
|
obs_data_set_obj(obj, "settings", settings);
|
|
obs_data_array_push_back(array, obj);
|
|
obs_data_array_push_back(array, obj);
|
|
- obs_data_release(obj);
|
|
|
|
-
|
|
|
|
- obs_data_release(settings);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
obs_data_set_array(save_data, "scripts-tool", array);
|
|
obs_data_set_array(save_data, "scripts-tool", array);
|
|
- obs_data_array_release(array);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static void script_log(void *, obs_script_t *script, int log_level,
|
|
static void script_log(void *, obs_script_t *script, int log_level,
|