Commit: cf38b08f5271f00ff9e0008cb338ae9fdac49dd6
Author: Campbell Barton
Date:   Fri Mar 8 02:06:22 2019 +1100
Branches: master
https://developer.blender.org/rBcf38b08f5271f00ff9e0008cb338ae9fdac49dd6

Fix gizmos not responding to theme color updates

Re-create gizmos when changing theme colors, since
theme colors don't change often this allows gizmos to setup their
colors on initialization.

===================================================================

M       source/blender/makesrna/intern/rna_userdef.c
M       source/blender/windowmanager/WM_api.h
M       source/blender/windowmanager/gizmo/WM_gizmo_api.h
M       source/blender/windowmanager/gizmo/intern/wm_gizmo_intern.h
M       source/blender/windowmanager/gizmo/intern/wm_gizmo_map.c

===================================================================

diff --git a/source/blender/makesrna/intern/rna_userdef.c 
b/source/blender/makesrna/intern/rna_userdef.c
index 902844e5fa7..72f46ee10c7 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -140,6 +140,14 @@ static void rna_userdef_update(Main *UNUSED(bmain), Scene 
*UNUSED(scene), Pointe
        WM_main_add_notifier(NC_WINDOW, NULL);
 }
 
+static void rna_userdef_theme_update(Main *bmain, Scene *scene, PointerRNA 
*ptr)
+{
+       /* Recreate gizmos when changing themes. */
+       WM_reinit_gizmomap_all(bmain);
+
+       rna_userdef_update(bmain, scene, ptr);
+}
+
 /* also used by buffer swap switching */
 static void rna_userdef_dpi_update(Main *UNUSED(bmain), Scene *UNUSED(scene), 
PointerRNA *UNUSED(ptr))
 {
@@ -826,42 +834,42 @@ static void 
rna_def_userdef_theme_ui_font_style(BlenderRNA *brna)
        prop = RNA_def_property(srna, "points", PROP_INT, PROP_NONE);
        RNA_def_property_range(prop, 6, 48);
        RNA_def_property_ui_text(prop, "Points", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "font_kerning_style", PROP_ENUM, 
PROP_NONE);
        RNA_def_property_enum_sdna(prop, NULL, "kerning");
        RNA_def_property_enum_items(prop, font_kerning_style);
        RNA_def_property_ui_text(prop, "Kerning Style", "Which style to use for 
font kerning");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "shadow", PROP_INT, PROP_PIXEL);
        RNA_def_property_range(prop, 0, 5);
        RNA_def_property_ui_text(prop, "Shadow Size", "Shadow size (0, 3 and 5 
supported)");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "shadow_offset_x", PROP_INT, PROP_PIXEL);
        RNA_def_property_int_sdna(prop, NULL, "shadx");
        RNA_def_property_range(prop, -10, 10);
        RNA_def_property_ui_text(prop, "Shadow X Offset", "Shadow offset in 
pixels");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "shadow_offset_y", PROP_INT, PROP_PIXEL);
        RNA_def_property_int_sdna(prop, NULL, "shady");
        RNA_def_property_range(prop, -10, 10);
        RNA_def_property_ui_text(prop, "Shadow Y Offset", "Shadow offset in 
pixels");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "shadow_alpha", PROP_FLOAT, PROP_FACTOR);
        RNA_def_property_float_sdna(prop, NULL, "shadowalpha");
        RNA_def_property_range(prop, 0.0f, 1.0f);
        RNA_def_property_ui_text(prop, "Shadow Alpha", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "shadow_value", PROP_FLOAT, PROP_FACTOR);
        RNA_def_property_float_sdna(prop, NULL, "shadowcolor");
        RNA_def_property_range(prop, 0.0f, 1.0f);
        RNA_def_property_ui_text(prop, "Shadow Brightness", "Shadow color in 
gray value");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 }
 
 static void rna_def_userdef_theme_ui_style(BlenderRNA *brna)
@@ -882,21 +890,21 @@ static void rna_def_userdef_theme_ui_style(BlenderRNA 
*brna)
        RNA_def_property_pointer_sdna(prop, NULL, "paneltitle");
        RNA_def_property_struct_type(prop, "ThemeFontStyle");
        RNA_def_property_ui_text(prop, "Panel Title Font", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "widget_label", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_NEVER_NULL);
        RNA_def_property_pointer_sdna(prop, NULL, "widgetlabel");
        RNA_def_property_struct_type(prop, "ThemeFontStyle");
        RNA_def_property_ui_text(prop, "Widget Label Style", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "widget", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_NEVER_NULL);
        RNA_def_property_pointer_sdna(prop, NULL, "widget");
        RNA_def_property_struct_type(prop, "ThemeFontStyle");
        RNA_def_property_ui_text(prop, "Widget Style", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
 }
 
@@ -913,52 +921,52 @@ static void rna_def_userdef_theme_ui_wcol(BlenderRNA 
*brna)
        prop = RNA_def_property(srna, "outline", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Outline", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 4);
        RNA_def_property_ui_text(prop, "Inner", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_sel", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 4);
        RNA_def_property_ui_text(prop, "Inner Selected", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "item", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 4);
        RNA_def_property_ui_text(prop, "Item", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "text", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Text", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "text_sel", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Text Selected", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "show_shaded", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "shaded", 1);
        RNA_def_property_ui_text(prop, "Shaded", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "shadetop", PROP_INT, PROP_NONE);
        RNA_def_property_range(prop, -100, 100);
        RNA_def_property_ui_text(prop, "Shade Top", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "shadedown", PROP_INT, PROP_NONE);
        RNA_def_property_range(prop, -100, 100);
        RNA_def_property_ui_text(prop, "Shade Down", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "roundness", PROP_FLOAT, PROP_FACTOR);
        RNA_def_property_float_funcs(prop, "rna_ThemeUI_roundness_get", 
"rna_ThemeUI_roundness_set", NULL);
        RNA_def_property_ui_text(prop, "Roundness", "Amount of edge rounding");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 }
 
 static void rna_def_userdef_theme_ui_wcol_state(BlenderRNA *brna)
@@ -974,56 +982,56 @@ static void 
rna_def_userdef_theme_ui_wcol_state(BlenderRNA *brna)
        prop = RNA_def_property(srna, "inner_anim", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Animated", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_anim_sel", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Animated Selected", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_key", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Keyframe", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_key_sel", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Keyframe Selected", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_driven", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Driven", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_driven_sel", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Driven Selected", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_overridden", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Overridden", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_overridden_sel", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Overridden Selected", "");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
        prop = RNA_def_property(srna, "inner_changed", PROP_FLOAT, 
PROP_COLOR_GAMMA);
        RNA_def_property_array(prop, 3);
        RNA_def

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to