[Bf-blender-cvs] [1346ab8d98f] greasepencil-object: Cleanup: Use standard logic for duplicating OB_GPENCIL objects and their data

Joshua Leung noreply at git.blender.org
Sat Nov 4 05:47:46 CET 2017


Commit: 1346ab8d98f0197a42bfa3e274314514a1fa6905
Author: Joshua Leung
Date:   Mon Oct 30 00:17:32 2017 +1300
Branches: greasepencil-object
https://developer.blender.org/rB1346ab8d98f0197a42bfa3e274314514a1fa6905

Cleanup: Use standard logic for duplicating OB_GPENCIL objects and their data

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

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 0d695d7d18e..406658b0d4d 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -2229,11 +2229,6 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, SceneLayer
 				}
 			}
 		}
-		/* duplicate grease pencil data for OB_GPENCIL */
-		// XXX: Review this (aligorith)
-		if ((dupflag != 0) && (obn->type == OB_GPENCIL)) {
-			obn->data = BKE_gpencil_data_duplicate(bmain, obn->data, false);
-		}
 
 		id = obn->data;
 		didit = 0;
@@ -2343,6 +2338,16 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, SceneLayer
 					id_us_min(id);
 				}
 				break;
+			case OB_GPENCIL:
+				if (dupflag != 0) {
+					ID_NEW_REMAP_US2(obn->data)
+					else {
+						obn->data = ID_NEW_SET(obn->data, BKE_gpencil_copy(bmain, obn->data));
+						didit = 1
+					}
+					id_us_min(id);
+				}
+				break;
 		}
 
 		/* check if obdata is copied */



More information about the Bf-blender-cvs mailing list