[Bf-blender-cvs] [d8839ac9281] greasepencil-object: Convert always scene GP datablock to new GPencil object

Antonio Vazquez noreply at git.blender.org
Fri Jun 2 17:38:40 CEST 2017


Commit: d8839ac9281c42c5d426dfbec34e1b9e8fdf7db1
Author: Antonio Vazquez
Date:   Fri Jun 2 17:26:08 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rBd8839ac9281c42c5d426dfbec34e1b9e8fdf7db1

Convert always scene GP datablock to new GPencil object

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

M	source/blender/blenloader/intern/versioning_280.c

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

diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index ffa23c5ca82..c4ef17c6fc6 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -50,6 +50,7 @@
 #include "BKE_workspace.h"
 #include "BKE_gpencil.h"
 #include "BKE_paint.h"
+#include "BKE_object.h"
 
 #include "BLI_listbase.h"
 #include "BLI_math.h"
@@ -307,6 +308,25 @@ void do_versions_after_linking_280(Main *main)
 		}
 	}
 
+	/* Convert grease pencil datablock to GP object */
+	if (!MAIN_VERSION_ATLEAST(main, 280, 0)) {
+		for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+			if (scene->gpd) {
+				Object *ob;
+				SceneLayer *sl = scene->render_layers.first;
+
+				ob = BKE_object_add(main, scene, sl, OB_GPENCIL, "GP_Scene");				
+				zero_v3(ob->loc);
+				ob->gpd = scene->gpd;
+				scene->gpd = NULL;
+
+				/* set cache as dirty */
+				BKE_gpencil_batch_cache_dirty(ob->gpd, 0);
+			}
+		}
+
+	}
+
 	/* New workspace design */
 	if (!MAIN_VERSION_ATLEAST(main, 280, 1)) {
 		do_version_workspaces_after_lib_link(main);




More information about the Bf-blender-cvs mailing list