[Bf-blender-cvs] [b46e987a706] blender2.8: Fix T56423: Fully broken drag'n'drop parenting in Outliner.

Bastien Montagne noreply at git.blender.org
Mon Sep 3 17:25:54 CEST 2018


Commit: b46e987a70682fcfc227ec71e9726c3ad6a230db
Author: Bastien Montagne
Date:   Mon Sep 3 17:24:26 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBb46e987a70682fcfc227ec71e9726c3ad6a230db

Fix T56423: Fully broken drag'n'drop parenting in Outliner.

`BKE_libblock_find_name()` expects ID names *without* ID type 'prefix'...

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

M	source/blender/editors/space_outliner/outliner_dragdrop.c

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

diff --git a/source/blender/editors/space_outliner/outliner_dragdrop.c b/source/blender/editors/space_outliner/outliner_dragdrop.c
index 60f02dd9529..87f42aa75d2 100644
--- a/source/blender/editors/space_outliner/outliner_dragdrop.c
+++ b/source/blender/editors/space_outliner/outliner_dragdrop.c
@@ -280,7 +280,7 @@ static int parent_drop_exec(bContext *C, wmOperator *op)
 	Main *bmain = CTX_data_main(C);
 	Scene *scene = CTX_data_scene(C);
 	int partype = -1;
-	char parname[MAX_ID_NAME], childname[MAX_ID_NAME];
+	char parname[MAX_NAME], childname[MAX_NAME];
 
 	partype = RNA_enum_get(op->ptr, "type");
 	RNA_string_get(op->ptr, "parent", parname);
@@ -327,10 +327,10 @@ static int parent_drop_invoke(bContext *C, wmOperator *op, const wmEvent *event)
 		return OPERATOR_CANCELLED;
 	}
 
-	char childname[MAX_ID_NAME];
-	char parname[MAX_ID_NAME];
-	STRNCPY(childname, ob->id.name);
-	STRNCPY(parname, par->id.name);
+	char childname[MAX_NAME];
+	char parname[MAX_NAME];
+	STRNCPY(childname, ob->id.name + 2);
+	STRNCPY(parname, par->id.name + 2);
 	RNA_string_set(op->ptr, "child", childname);
 	RNA_string_set(op->ptr, "parent", parname);
 
@@ -441,8 +441,8 @@ void OUTLINER_OT_parent_drop(wmOperatorType *ot)
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_INTERNAL;
 
 	/* properties */
-	RNA_def_string(ot->srna, "child", "Object", MAX_ID_NAME, "Child", "Child Object");
-	RNA_def_string(ot->srna, "parent", "Object", MAX_ID_NAME, "Parent", "Parent Object");
+	RNA_def_string(ot->srna, "child", "Object", MAX_NAME, "Child", "Child Object");
+	RNA_def_string(ot->srna, "parent", "Object", MAX_NAME, "Parent", "Parent Object");
 	RNA_def_enum(ot->srna, "type", prop_make_parent_types, 0, "Type", "");
 }



More information about the Bf-blender-cvs mailing list