[Bf-blender-cvs] [91b7ee2ca3c] greasepencil-object: WIP: Fix errors converting old 2.7 files

Antonio Vazquez noreply at git.blender.org
Wed May 23 19:35:41 CEST 2018


Commit: 91b7ee2ca3c02506b9d8b710344a2a472320300a
Author: Antonio Vazquez
Date:   Wed May 23 19:35:13 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB91b7ee2ca3c02506b9d8b710344a2a472320300a

WIP: Fix errors converting old 2.7 files

The brushes were not created and the palette must be removed.

The operator only works if Eevee engine is enabled. Cycles engine selected always fails.

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

M	source/blender/editors/gpencil/gpencil_data.c

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

diff --git a/source/blender/editors/gpencil/gpencil_data.c b/source/blender/editors/gpencil/gpencil_data.c
index aa76b44b0df..17f0bccdce2 100644
--- a/source/blender/editors/gpencil/gpencil_data.c
+++ b/source/blender/editors/gpencil/gpencil_data.c
@@ -2406,6 +2406,7 @@ static int gpencil_convert_old_files_exec(bContext *C, wmOperator *op)
 {
 	Main *bmain = CTX_data_main(C);
 	Scene *scene = CTX_data_scene(C);
+	ToolSettings *ts = CTX_data_tool_settings(C);
 	ViewLayer *view_layer = CTX_data_view_layer(C);
 
 	/* Convert grease pencil scene datablock to GP object */
@@ -2414,6 +2415,13 @@ static int gpencil_convert_old_files_exec(bContext *C, wmOperator *op)
 		ob = BKE_object_add_for_data(bmain, view_layer, OB_GPENCIL, "GP_Scene", &scene->gpd->id, false);
 		zero_v3(ob->loc);
 
+		Paint *paint = BKE_brush_get_gpencil_paint(ts);
+		/* if not exist, create a new one */
+		if (paint->brush == NULL) {
+			/* create new brushes */
+			BKE_brush_gpencil_presets(C);
+		}
+
 		/* convert grease pencil palettes (version >= 2.78)  to materials and weights */
 		bGPdata *gpd = scene->gpd;
 		for (const bGPDpalette *palette = gpd->palettes.first; palette; palette = palette->next) {
@@ -2445,6 +2453,9 @@ static int gpencil_convert_old_files_exec(bContext *C, wmOperator *op)
 			}
 		}
 
+		/* free palettes */
+		BKE_gpencil_free_palettes(&gpd->palettes);
+
 		/* set cache as dirty */
 		BKE_gpencil_batch_cache_dirty(ob->data);



More information about the Bf-blender-cvs mailing list