[Bf-blender-cvs] [8c44495] master: Fix T38234: changing smooth/flat shading on linked mesh data should not be allowed.
Brecht Van Lommel
noreply at git.blender.org
Wed Jan 15 16:04:40 CET 2014
Commit: 8c444958fcba92135b22893ae5da53bc31e96eb6
Author: Brecht Van Lommel
Date: Wed Jan 15 16:01:40 2014 +0100
https://developer.blender.org/rB8c444958fcba92135b22893ae5da53bc31e96eb6
Fix T38234: changing smooth/flat shading on linked mesh data should not be allowed.
===================================================================
M source/blender/editors/object/object_edit.c
===================================================================
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index f7fb2a2..b80d4de 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -1341,13 +1341,20 @@ void OBJECT_OT_paths_clear(wmOperatorType *ot)
static int shade_smooth_exec(bContext *C, wmOperator *op)
{
+ ID *data;
Curve *cu;
Nurb *nu;
int clear = (strcmp(op->idname, "OBJECT_OT_shade_flat") == 0);
- int done = FALSE;
+ bool done = false, linked_data = false;
CTX_DATA_BEGIN(C, Object *, ob, selected_editable_objects)
{
+ data = ob->data;
+
+ if (data && data->lib) {
+ linked_data = true;
+ continue;
+ }
if (ob->type == OB_MESH) {
BKE_mesh_smooth_flag_set(ob, !clear);
@@ -1355,7 +1362,7 @@ static int shade_smooth_exec(bContext *C, wmOperator *op)
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
- done = TRUE;
+ done = true;
}
else if (ELEM(ob->type, OB_SURF, OB_CURVE)) {
cu = ob->data;
@@ -1368,11 +1375,14 @@ static int shade_smooth_exec(bContext *C, wmOperator *op)
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
- done = TRUE;
+ done = true;
}
}
CTX_DATA_END;
+ if (linked_data)
+ BKE_report(op->reports, RPT_WARNING, "Can't edit linked mesh or curve data.");
+
return (done) ? OPERATOR_FINISHED : OPERATOR_CANCELLED;
}
More information about the Bf-blender-cvs
mailing list