diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-05-22 17:29:46 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-05-22 17:35:37 +0300 |
commit | 8ec3b5b7c6d5db1fd8f98c0d54d1dc729ff19be2 (patch) | |
tree | 05e966e9ee5632cb869043cb376819d0277e3acb /source/blender/editors/interface/interface_handlers.c | |
parent | 8d20d6b2eb40c5a54863e33784eabb3fb6c8d012 (diff) |
Fix T64679: Missing dirty preferences tag
Use a default update function for user preferences that tags
dirty and redraws (if changed).
This avoids relying on button changes which fail in some cases.
Diffstat (limited to 'source/blender/editors/interface/interface_handlers.c')
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index eea720f9561..4ff7151887b 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -556,22 +556,9 @@ static void ui_but_update_preferences_dirty(uiBut *but) /* Not very elegant, but ensures preference changes force re-save. */ bool tag = false; if (but->rnaprop) { - if (but->rnapoin.data == &U) { - /* Exclude navigation from setting dirty. */ - extern PropertyRNA rna_Preferences_active_section; - if (!ELEM(but->rnaprop, &rna_Preferences_active_section)) { - tag = true; - } - } - else { - StructRNA *base = RNA_struct_base(but->rnapoin.type); - if (ELEM(base, - &RNA_AddonPreferences, - &RNA_KeyConfigPreferences, - &RNA_KeyMapItem, - &RNA_WalkNavigation)) { - tag = true; - } + StructRNA *base = RNA_struct_base(but->rnapoin.type); + if (ELEM(base, &RNA_AddonPreferences, &RNA_KeyConfigPreferences)) { + tag = true; } } |