[Bf-blender-cvs] [98f8f324d0e] greasepencil-object: Move bGPDlayer runtime data to bGPDlayer_runtime struct

Antonio Vazquez noreply at git.blender.org
Sat May 12 19:03:54 CEST 2018


Commit: 98f8f324d0ef72eb7e86f2cb11505a32bb13b090
Author: Antonio Vazquez
Date:   Sat May 12 19:03:49 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB98f8f324d0ef72eb7e86f2cb11505a32bb13b090

Move bGPDlayer runtime data to bGPDlayer_runtime struct

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

M	source/blender/blenkernel/intern/gpencil.c
M	source/blender/blenloader/intern/readfile.c
M	source/blender/draw/engines/gpencil/gpencil_draw_utils.c
M	source/blender/makesdna/DNA_gpencil_types.h

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

diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index bc77f0eb3d9..9cc28ee709e 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -207,11 +207,11 @@ static void BKE_gpencil_clear_derived(bGPDlayer *gpl)
 {
 	GHashIterator gh_iter;
 	
-	if (gpl->derived_data == NULL) {
+	if (gpl->runtime.derived_data == NULL) {
 		return;
 	}
 	
-	GHASH_ITER(gh_iter, gpl->derived_data) {
+	GHASH_ITER(gh_iter, gpl->runtime.derived_data) {
 		bGPDframe *gpf = (bGPDframe *)BLI_ghashIterator_getValue(&gh_iter);
 		if (gpf) {
 			BKE_gpencil_free_frame_runtime_data(gpf);
@@ -231,9 +231,9 @@ static void BKE_gpencil_free_layers_temp_data(ListBase *list)
 		gpl_next = gpl->next;
 		BKE_gpencil_clear_derived(gpl);
 
-		if (gpl->derived_data) {
-			BLI_ghash_free(gpl->derived_data, NULL, NULL);
-			gpl->derived_data = NULL;
+		if (gpl->runtime.derived_data) {
+			BLI_ghash_free(gpl->runtime.derived_data, NULL, NULL);
+			gpl->runtime.derived_data = NULL;
 		}
 	}
 }
@@ -246,9 +246,9 @@ void BKE_gpencil_free_derived_frames(bGPdata *gpd)
 	for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
 		BKE_gpencil_clear_derived(gpl);
 
-		if (gpl->derived_data) {
-			BLI_ghash_free(gpl->derived_data, NULL, NULL);
-			gpl->derived_data = NULL;
+		if (gpl->runtime.derived_data) {
+			BLI_ghash_free(gpl->runtime.derived_data, NULL, NULL);
+			gpl->runtime.derived_data = NULL;
 		}
 	}
 }
@@ -623,7 +623,7 @@ bGPDlayer *BKE_gpencil_layer_duplicate(const bGPDlayer *gpl_src)
 	/* make a copy of source layer */
 	gpl_dst = MEM_dupallocN(gpl_src);
 	gpl_dst->prev = gpl_dst->next = NULL;
-	gpl_dst->derived_data = NULL;
+	gpl_dst->runtime.derived_data = NULL;
 	
 	/* copy frames */
 	BLI_listbase_clear(&gpl_dst->frames);
@@ -1007,9 +1007,9 @@ void BKE_gpencil_layer_delete(bGPdata *gpd, bGPDlayer *gpl)
 	
 	/* free derived data */
 	BKE_gpencil_clear_derived(gpl);
-	if (gpl->derived_data) {
-		BLI_ghash_free(gpl->derived_data, NULL, NULL);
-		gpl->derived_data = NULL;
+	if (gpl->runtime.derived_data) {
+		BLI_ghash_free(gpl->runtime.derived_data, NULL, NULL);
+		gpl->runtime.derived_data = NULL;
 	}
 
 	BLI_freelinkN(&gpd->layers, gpl);
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index e89f4a31a61..fdb2533db13 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6345,7 +6345,7 @@ static void direct_link_gpencil(FileData *fd, bGPdata *gpd)
 		link_list(fd, &gpl->frames);
 		
 		gpl->actframe = newdataadr(fd, gpl->actframe);
-		gpl->derived_data = NULL;
+		gpl->runtime.derived_data = NULL;
 		
 		for (gpf = gpl->frames.first; gpf; gpf = gpf->next) {
 			/* relink strokes (and their points) */
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
index 6d55b6c63fe..1b9be888355 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
@@ -1150,11 +1150,11 @@ void DRW_gpencil_populate_datablock(GPENCIL_e_data *e_data, void *vedata, Scene
 			continue;
 
 		/* create GHash if need */
-		if (gpl->derived_data == NULL) {
-			gpl->derived_data = (GHash *)BLI_ghash_str_new(gpl->info);
+		if (gpl->runtime.derived_data == NULL) {
+			gpl->runtime.derived_data = (GHash *)BLI_ghash_str_new(gpl->info);
 		}
 
-		derived_gpf = (bGPDframe *)BLI_ghash_lookup(gpl->derived_data, ob->id.name);
+		derived_gpf = (bGPDframe *)BLI_ghash_lookup(gpl->runtime.derived_data, ob->id.name);
 		if (derived_gpf == NULL) {
 			cache->is_dirty = true;
 		}
@@ -1162,11 +1162,11 @@ void DRW_gpencil_populate_datablock(GPENCIL_e_data *e_data, void *vedata, Scene
 			if (derived_gpf != NULL) {
 				/* first clear temp data */
 				BKE_gpencil_free_frame_runtime_data(derived_gpf);
-				BLI_ghash_remove(gpl->derived_data, ob->id.name, NULL, NULL);
+				BLI_ghash_remove(gpl->runtime.derived_data, ob->id.name, NULL, NULL);
 			}
 			/* create new data */
 			derived_gpf = BKE_gpencil_frame_duplicate(gpf);
-			BLI_ghash_insert(gpl->derived_data, ob->id.name, derived_gpf);
+			BLI_ghash_insert(gpl->runtime.derived_data, ob->id.name, derived_gpf);
 		}
 
 		/* draw onion skins */
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 02f2e456082..2af85db8055 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -242,6 +242,10 @@ typedef enum eGPDframe_Flag {
 /* GP Layer */
 
 /* Grease-Pencil Annotations - 'Layer' */
+typedef struct bGPDlayer_runtime {
+	struct GHash *derived_data;     /* runtime data created by modifiers */
+} bGPDlayer_runtime;
+
 typedef struct bGPDlayer {
 	struct bGPDlayer *next, *prev;
 	
@@ -274,7 +278,7 @@ typedef struct bGPDlayer {
 	int onion_flag;         /* Per-layer onion-skinning flags, to overide datablock settings (eGPDlayer_OnionFlag) */
 	float onion_factor;     /* onion alpha factor change */
 	
-	struct GHash *derived_data;     /* runtime data created by modifiers */
+	bGPDlayer_runtime runtime;
 } bGPDlayer;



More information about the Bf-blender-cvs mailing list