[Bf-blender-cvs] [841020dba25] master: Fix active/default color names not being editable

Campbell Barton noreply at git.blender.org
Fri Dec 16 02:33:45 CET 2022


Commit: 841020dba2563fbae2cb757ee3c9de9826871b4d
Author: Campbell Barton
Date:   Fri Dec 16 12:30:56 2022 +1100
Branches: master
https://developer.blender.org/rB841020dba2563fbae2cb757ee3c9de9826871b4d

Fix active/default color names not being editable

Revert [0] and enable the editable flag as the intent for [1] was that
these values would be editable.

[0]: e58f5422c37762ab5b4302e7481a9ffed023913a
[1]: 6514bb05ea5a138d897151db02cb0bad9fe01968

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

M	source/blender/makesrna/intern/rna_attribute.c

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

diff --git a/source/blender/makesrna/intern/rna_attribute.c b/source/blender/makesrna/intern/rna_attribute.c
index efa87523204..98b3fa8553e 100644
--- a/source/blender/makesrna/intern/rna_attribute.c
+++ b/source/blender/makesrna/intern/rna_attribute.c
@@ -677,6 +677,18 @@ static int rna_AttributeGroup_default_color_name_length(PointerRNA *ptr)
   return name ? strlen(name) : 0;
 }
 
+static void rna_AttributeGroup_default_color_name_set(PointerRNA *ptr, const char *value)
+{
+  ID *id = ptr->owner_id;
+  if (GS(id->name) == ID_ME) {
+    Mesh *mesh = (Mesh *)id;
+    MEM_SAFE_FREE(mesh->default_color_attribute);
+    if (value[0]) {
+      mesh->default_color_attribute = BLI_strdup(value);
+    }
+  }
+}
+
 static void rna_AttributeGroup_active_color_name_get(PointerRNA *ptr, char *value)
 {
   const ID *id = ptr->owner_id;
@@ -695,6 +707,18 @@ static int rna_AttributeGroup_active_color_name_length(PointerRNA *ptr)
   return name ? strlen(name) : 0;
 }
 
+static void rna_AttributeGroup_active_color_name_set(PointerRNA *ptr, const char *value)
+{
+  ID *id = ptr->owner_id;
+  if (GS(id->name) == ID_ME) {
+    Mesh *mesh = (Mesh *)id;
+    MEM_SAFE_FREE(mesh->default_color_attribute);
+    if (value[0]) {
+      mesh->default_color_attribute = BLI_strdup(value);
+    }
+  }
+}
+
 #else
 
 static void rna_def_attribute_float(BlenderRNA *brna)
@@ -1156,24 +1180,22 @@ static void rna_def_attribute_group(BlenderRNA *brna)
   RNA_def_property_update(prop, 0, "rna_AttributeGroup_update_active_color");
 
   prop = RNA_def_property(srna, "default_color_name", PROP_STRING, PROP_NONE);
-  RNA_def_property_clear_flag(prop, PROP_EDITABLE);
   RNA_def_property_string_maxlength(prop, MAX_CUSTOMDATA_LAYER_NAME);
   RNA_def_property_string_funcs(prop,
                                 "rna_AttributeGroup_default_color_name_get",
                                 "rna_AttributeGroup_default_color_name_length",
-                                NULL);
+                                "rna_AttributeGroup_default_color_name_set");
   RNA_def_property_ui_text(
       prop,
       "Default Color Attribute",
       "The name of the default color attribute used as a fallback for rendering");
 
   prop = RNA_def_property(srna, "active_color_name", PROP_STRING, PROP_NONE);
-  RNA_def_property_clear_flag(prop, PROP_EDITABLE);
   RNA_def_property_string_maxlength(prop, MAX_CUSTOMDATA_LAYER_NAME);
   RNA_def_property_string_funcs(prop,
                                 "rna_AttributeGroup_active_color_name_get",
                                 "rna_AttributeGroup_active_color_name_length",
-                                NULL);
+                                "rna_AttributeGroup_active_color_name_set");
   RNA_def_property_ui_text(prop,
                            "Active Color Attribute",
                            "The name of the active color attribute for display and editing");



More information about the Bf-blender-cvs mailing list