[Bf-blender-cvs] [ca856bbe21b] override-recursive-resync: Cleanup: avoid the possibility of 'enter_editmode' being left unset
Campbell Barton
noreply at git.blender.org
Mon Jun 14 16:35:02 CEST 2021
Commit: ca856bbe21bac256611a56de507c25a4686e09cb
Author: Campbell Barton
Date: Sun Jun 13 14:47:07 2021 +1000
Branches: override-recursive-resync
https://developer.blender.org/rBca856bbe21bac256611a56de507c25a4686e09cb
Cleanup: avoid the possibility of 'enter_editmode' being left unset
While in practice this isn't an issue currently, always set
'enter_editmode' in ED_object_add_generic_get_opts
to avoid problems in the future.
===================================================================
M source/blender/editors/object/object_add.c
===================================================================
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 166d168471f..2256dee20cb 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -463,21 +463,25 @@ bool ED_object_add_generic_get_opts(bContext *C,
ushort *local_view_bits,
bool *is_view_aligned)
{
- PropertyRNA *prop;
-
- /* Switch to Edit mode? optional prop */
- if ((prop = RNA_struct_find_property(op->ptr, "enter_editmode"))) {
+ /* Edit Mode! (optional) */
+ {
bool _enter_editmode;
if (!enter_editmode) {
enter_editmode = &_enter_editmode;
}
+ /* Only to ensure the value is _always_ set.
+ * Typically the property will exist when the argument is non-NULL. */
+ *enter_editmode = false;
- if (RNA_property_is_set(op->ptr, prop) && enter_editmode) {
- *enter_editmode = RNA_property_boolean_get(op->ptr, prop);
- }
- else {
- *enter_editmode = (U.flag & USER_ADD_EDITMODE) != 0;
- RNA_property_boolean_set(op->ptr, prop, *enter_editmode);
+ PropertyRNA *prop = RNA_struct_find_property(op->ptr, "enter_editmode");
+ if (prop != NULL) {
+ if (RNA_property_is_set(op->ptr, prop) && enter_editmode) {
+ *enter_editmode = RNA_property_boolean_get(op->ptr, prop);
+ }
+ else {
+ *enter_editmode = (U.flag & USER_ADD_EDITMODE) != 0;
+ RNA_property_boolean_set(op->ptr, prop, *enter_editmode);
+ }
}
}
@@ -522,7 +526,7 @@ bool ED_object_add_generic_get_opts(bContext *C,
}
else {
int alignment = ALIGN_WORLD;
- prop = RNA_struct_find_property(op->ptr, "align");
+ PropertyRNA *prop = RNA_struct_find_property(op->ptr, "align");
if (RNA_property_is_set(op->ptr, prop)) {
/* If alignment is set, always use it. */
@@ -574,7 +578,9 @@ bool ED_object_add_generic_get_opts(bContext *C,
/* For now this is optional, we can make it always use. */
copy_v3_fl(scale, 1.0f);
- if ((prop = RNA_struct_find_property(op->ptr, "scale"))) {
+
+ PropertyRNA *prop = RNA_struct_find_property(op->ptr, "scale");
+ if (prop != NULL) {
if (RNA_property_is_set(op->ptr, prop)) {
RNA_property_float_get_array(op->ptr, prop, scale);
}
More information about the Bf-blender-cvs
mailing list