Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-05-14 03:08:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-05-14 03:25:55 +0300
commita5b5bd2c24e06b308346626f3abb7a705d7af70a (patch)
tree856e35be9162b91f8e9dd473a6fb311081e0cf28
parent36a33b8c8209209f6ae2d79e9e83b5f467f999fd (diff)
Fix missing preference dirty tagging
Tagging dirty was failing for UI scale, line width, hinting & others. Checking for an update function means all update functions need to tag preferences as dirty. Since this check was added to prevent the active section marking the preferences as dirty, only exclude this property.
-rw-r--r--source/blender/editors/interface/interface_handlers.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 7edf581d2ee..c5a88c5fadb 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -7574,10 +7574,16 @@ static void button_activate_exit(
ui_popup_menu_memory_set(block, but);
}
- /* Not very elegant, but ensures preference changes force re-save. */
- if (but->rnaprop && (but->rnapoin.data == &U) && !RNA_property_update_check(but->rnaprop)) {
- U.runtime.is_dirty = true;
- WM_main_add_notifier(NC_WINDOW, NULL);
+ if (U.runtime.is_dirty == false) {
+ /* Not very elegant, but ensures preference changes force re-save. */
+ if (but->rnaprop && (but->rnapoin.data == &U)) {
+ /* Exclude navigation from setting dirty. */
+ extern PropertyRNA rna_Preferences_active_section;
+ if (!ELEM(but->rnaprop, &rna_Preferences_active_section)) {
+ U.runtime.is_dirty = true;
+ WM_main_add_notifier(NC_WINDOW, NULL);
+ }
+ }
}
}