[Bf-blender-cvs] [ecd8bdafbb5] refactor-idprop-ui-data: Use IDP_ui_data_type instead of more specific checks
Hans Goudey
noreply at git.blender.org
Thu Aug 5 21:01:50 CEST 2021
Commit: ecd8bdafbb54ae64948af887847f526ea28add79
Author: Hans Goudey
Date: Thu Aug 5 12:02:17 2021 -0500
Branches: refactor-idprop-ui-data
https://developer.blender.org/rBecd8bdafbb54ae64948af887847f526ea28add79
Use IDP_ui_data_type instead of more specific checks
===================================================================
M source/blender/blenkernel/intern/idprop.c
===================================================================
diff --git a/source/blender/blenkernel/intern/idprop.c b/source/blender/blenkernel/intern/idprop.c
index c85fb8badc2..b52ce1198e6 100644
--- a/source/blender/blenkernel/intern/idprop.c
+++ b/source/blender/blenkernel/intern/idprop.c
@@ -280,20 +280,31 @@ IDPropertyUIData *IDP_ui_data_copy(const IDProperty *prop)
IDPropertyUIData *data_new = MEM_dupallocN(prop->ui_data);
/* Copy extra type specific data. */
- if (prop->type == IDP_STRING) {
- IDPropertyUIDataString *ui_data = (IDPropertyUIDataString *)prop->ui_data;
- IDPropertyUIDataString *ui_data_new = (IDPropertyUIDataString *)data_new;
- ui_data_new->default_value = MEM_dupallocN(ui_data->default_value);
- }
- else if (prop->type == IDP_ARRAY && prop->subtype == IDP_INT) {
- IDPropertyUIDataInt *ui_data = (IDPropertyUIDataInt *)prop->ui_data;
- IDPropertyUIDataInt *ui_data_new = (IDPropertyUIDataInt *)data_new;
- ui_data_new->default_array = MEM_dupallocN(ui_data->default_array);
- }
- else if (prop->type == IDP_ARRAY && ELEM(prop->subtype, IDP_FLOAT, IDP_DOUBLE)) {
- IDPropertyUIDataFloat *ui_data = (IDPropertyUIDataFloat *)prop->ui_data;
- IDPropertyUIDataFloat *ui_data_new = (IDPropertyUIDataFloat *)data_new;
- ui_data_new->default_array = MEM_dupallocN(ui_data->default_array);
+ switch (IDP_ui_data_type(prop)) {
+ case IDP_UI_DATA_TYPE_STRING: {
+ IDPropertyUIDataString *ui_data = (IDPropertyUIDataString *)prop->ui_data;
+ IDPropertyUIDataString *ui_data_new = (IDPropertyUIDataString *)data_new;
+ ui_data_new->default_value = MEM_dupallocN(ui_data->default_value);
+ break;
+ }
+ case IDP_UI_DATA_TYPE_ID: {
+ break;
+ }
+ case IDP_UI_DATA_TYPE_INT: {
+ IDPropertyUIDataInt *ui_data = (IDPropertyUIDataInt *)prop->ui_data;
+ IDPropertyUIDataInt *ui_data_new = (IDPropertyUIDataInt *)data_new;
+ ui_data_new->default_array = MEM_dupallocN(ui_data->default_array);
+ break;
+ }
+ case IDP_UI_DATA_TYPE_FLOAT: {
+ IDPropertyUIDataFloat *ui_data = (IDPropertyUIDataFloat *)prop->ui_data;
+ IDPropertyUIDataFloat *ui_data_new = (IDPropertyUIDataFloat *)data_new;
+ ui_data_new->default_array = MEM_dupallocN(ui_data->default_array);
+ break;
+ }
+ case IDP_UI_DATA_TYPE_UNSUPPORTED: {
+ break;
+ }
}
data_new->description = MEM_dupallocN(prop->ui_data->description);
More information about the Bf-blender-cvs
mailing list