[Bf-blender-cvs] [76498ed5705] greasepencil-object: Avoid load files with gp modes enabled

Antonio Vazquez noreply at git.blender.org
Tue Jun 27 12:39:47 CEST 2017


Commit: 76498ed57051e78a83e736a895d991f8626cddd8
Author: Antonio Vazquez
Date:   Tue Jun 27 12:05:17 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB76498ed57051e78a83e736a895d991f8626cddd8

Avoid load files with gp modes enabled

The new files must be loaded in Object mode and not in special grease pencil modes.

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

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

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index fac207a43b0..f3e4c224cc9 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -4873,6 +4873,18 @@ static void lib_link_object(FileData *fd, Main *main)
 			}
 			
 			ob->gpd = newlibadr_us(fd, ob->id.lib, ob->gpd);
+			if (ob->type == OB_GPENCIL) {
+				/* if load a gpencil object must be in object mode except for undo */
+				if ((!fd->memfile) && (ob->gpd)) {
+					ob->mode &= ~OB_MODE_GPENCIL_EDIT;
+					ob->mode &= ~OB_MODE_GPENCIL_PAINT;
+					ob->mode &= ~OB_MODE_GPENCIL_SCULPT;
+					ob->mode |= OB_MODE_OBJECT;
+					ob->gpd->flag &= ~GP_DATA_STROKE_EDITMODE;
+					ob->gpd->flag &= ~GP_DATA_STROKE_PAINTMODE;
+					ob->gpd->flag &= ~GP_DATA_STROKE_SCULPTMODE;
+				}
+			}
 			ob->duplilist = NULL;
 			
 			ob->id.tag &= ~LIB_TAG_NEED_LINK;




More information about the Bf-blender-cvs mailing list