UI: Only defer property updates for input and transition sources
Deferring properties was only ever made for input and transition sources. As other property dialogs do not have an "Ok" button that would cause an update to happen, if the deferred flag was set the callback would never be called. Also clarifies the docs to reflect this.
This commit is contained in:
parent
45caa065b7
commit
2fbd54958d
2 changed files with 21 additions and 5 deletions
|
|
@ -88,19 +88,33 @@ Q_DECLARE_METATYPE(media_frames_per_second);
|
|||
|
||||
void OBSPropertiesView::ReloadProperties()
|
||||
{
|
||||
deferUpdate = false;
|
||||
if (weakObj || rawObj) {
|
||||
OBSObject strongObj = GetObject();
|
||||
void *obj = strongObj ? strongObj.Get() : rawObj;
|
||||
if (obj)
|
||||
if (obj) {
|
||||
properties.reset(reloadCallback(obj));
|
||||
|
||||
if (obs_obj_get_type(obj) == OBS_OBJ_TYPE_SOURCE) {
|
||||
enum obs_source_type type = obs_source_get_type(
|
||||
(obs_source_t *)obj);
|
||||
if (type == OBS_SOURCE_TYPE_INPUT ||
|
||||
type == OBS_SOURCE_TYPE_TRANSITION) {
|
||||
uint32_t flags =
|
||||
obs_properties_get_flags(
|
||||
properties.get());
|
||||
deferUpdate =
|
||||
(flags &
|
||||
OBS_PROPERTIES_DEFER_UPDATE) !=
|
||||
0;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
properties.reset(reloadCallback((void *)type.c_str()));
|
||||
obs_properties_apply_settings(properties.get(), settings);
|
||||
}
|
||||
|
||||
uint32_t flags = obs_properties_get_flags(properties.get());
|
||||
deferUpdate = (flags & OBS_PROPERTIES_DEFER_UPDATE) != 0;
|
||||
|
||||
RefreshProperties();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,9 @@ General Functions
|
|||
- OBS_PROPERTIES_DEFER_UPDATE - A hint that tells the
|
||||
front-end to defers updating the settings until the
|
||||
user has finished editing all properties rather than
|
||||
immediately updating any settings
|
||||
immediately updating any settings. Currently only
|
||||
works for properties of input and transition sources,
|
||||
this flag is a no-op for other properties at this time.
|
||||
|
||||
---------------------
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue