[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