[Bf-blender-cvs] [5dfe46b985e] greasepencil-object: Fix: The code to reset GP Objects to Object Mode on load wasn't working

Joshua Leung noreply at git.blender.org
Wed Sep 27 03:01:37 CEST 2017


Commit: 5dfe46b985eb976e80d14c684f43bd043fb03f66
Author: Joshua Leung
Date:   Wed Sep 27 10:35:00 2017 +1300
Branches: greasepencil-object
https://developer.blender.org/rB5dfe46b985eb976e80d14c684f43bd043fb03f66

Fix: The code to reset GP Objects to Object Mode on load wasn't working

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

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

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 1a629c8d8a6..d699f568c17 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -4887,15 +4887,17 @@ 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)) {
+				if ((!fd->memfile) && (ob->data)) {
+					bGPdata *obdata_gp = ob->data;
+					
 					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->gpd->flag &= ~GP_DATA_STROKE_WEIGHTMODE;
+					obdata_gp->flag &= ~GP_DATA_STROKE_EDITMODE;
+					obdata_gp->flag &= ~GP_DATA_STROKE_PAINTMODE;
+					obdata_gp->flag &= ~GP_DATA_STROKE_SCULPTMODE;
+					obdata_gp->flag &= ~GP_DATA_STROKE_WEIGHTMODE;
 				}
 			}
 			ob->duplilist = NULL;



More information about the Bf-blender-cvs mailing list