mirror of
https://github.com/Xaymar/obs-StreamFX
synced 2024-12-29 11:01:23 +00:00
gfx/shader: Call defaults before update before properties
Fixes an unusual order of initialization bug resulting in poor user experience
This commit is contained in:
parent
86cb224783
commit
c3b1dc2ec2
1 changed files with 4 additions and 2 deletions
|
@ -257,6 +257,7 @@ bool streamfx::gfx::shader::shader::on_refresh_properties(obs_properties_t* prop
|
||||||
obs_property_list_add_string(p_tech_list, tech.name().c_str(), tech.name().c_str());
|
obs_property_list_add_string(p_tech_list, tech.name().c_str(), tech.name().c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{ // Clear parameter options.
|
{ // Clear parameter options.
|
||||||
auto grp = obs_property_group_content(obs_properties_get(props, ST_KEY_PARAMETERS));
|
auto grp = obs_property_group_content(obs_properties_get(props, ST_KEY_PARAMETERS));
|
||||||
for (auto p = obs_properties_first(grp); p != nullptr; p = obs_properties_first(grp)) {
|
for (auto p = obs_properties_first(grp); p != nullptr; p = obs_properties_first(grp)) {
|
||||||
|
@ -267,14 +268,14 @@ bool streamfx::gfx::shader::shader::on_refresh_properties(obs_properties_t* prop
|
||||||
obs_data_t* data = obs_source_get_settings(_self);
|
obs_data_t* data = obs_source_get_settings(_self);
|
||||||
for (auto kv : _shader_params) {
|
for (auto kv : _shader_params) {
|
||||||
try {
|
try {
|
||||||
kv.second->properties(grp, data);
|
|
||||||
kv.second->defaults(data);
|
kv.second->defaults(data);
|
||||||
kv.second->update(data);
|
kv.second->update(data);
|
||||||
|
kv.second->properties(grp, data);
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
// ToDo: Do something with these?
|
// ToDo: Do something with these?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
obs_source_update(_self, data);
|
//obs_source_update(_self, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -366,6 +367,7 @@ void streamfx::gfx::shader::shader::update(obs_data_t* data)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto kv : _shader_params) {
|
for (auto kv : _shader_params) {
|
||||||
|
kv.second->defaults(data);
|
||||||
kv.second->update(data);
|
kv.second->update(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue