diff --git a/UI/properties-view.cpp b/UI/properties-view.cpp index 861b3bab6..d0ff72a9b 100644 --- a/UI/properties-view.cpp +++ b/UI/properties-view.cpp @@ -101,7 +101,7 @@ void OBSPropertiesView::ReloadProperties() } uint32_t flags = obs_properties_get_flags(properties.get()); - deferUpdate = (flags & OBS_PROPERTIES_DEFER_UPDATE) != 0; + deferUpdate = enableDefer && (flags & OBS_PROPERTIES_DEFER_UPDATE) != 0; RefreshProperties(); } diff --git a/UI/properties-view.hpp b/UI/properties-view.hpp index 9d06be4ee..e520dcdde 100644 --- a/UI/properties-view.hpp +++ b/UI/properties-view.hpp @@ -107,6 +107,7 @@ private: std::string lastFocused; QWidget *lastWidget = nullptr; bool deferUpdate; + bool enableDefer = true; template QWidget *NewWidget(obs_property_t *prop, Sender *widget, @@ -196,6 +197,7 @@ public: visUpdateCb(OBSGetStrongRef(weakObj), settings); } inline bool DeferUpdate() const { return deferUpdate; } + inline void SetDeferrable(bool deferrable) { enableDefer = deferrable; } inline OBSObject GetObject() const { return OBSGetStrongRef(weakObj); }