[Bf-blender-cvs] [4732f90a4f1] master: GP: Use unique names for instance objects
Antonioya
noreply at git.blender.org
Wed Feb 27 08:50:36 CET 2019
Commit: 4732f90a4f19954b56f2c2692e8be304359d1ec1
Author: Antonioya
Date: Wed Feb 27 08:50:29 2019 +0100
Branches: master
https://developer.blender.org/rB4732f90a4f19954b56f2c2692e8be304359d1ec1
GP: Use unique names for instance objects
When instance objects linked, the name could not be unique.
===================================================================
M source/blender/draw/engines/gpencil/gpencil_cache_utils.c
M source/blender/draw/engines/gpencil/gpencil_engine.c
M source/blender/draw/engines/gpencil/gpencil_engine.h
===================================================================
diff --git a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
index ab75299ca1e..f57ec5e974f 100644
--- a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
@@ -29,6 +29,7 @@
#include "DNA_gpencil_types.h"
#include "DNA_view3d_types.h"
+#include "BKE_library.h"
#include "BKE_gpencil.h"
#include "gpencil_engine.h"
@@ -68,7 +69,7 @@ tGPencilObjectCache *gpencil_object_cache_add(
cache_elem->ob = ob;
cache_elem->gpd = (bGPdata *)ob->data;
- strcpy(cache_elem->name, ob->id.name);
+ cache_elem->name = BKE_id_to_unique_string_key(&ob->id);
copy_v3_v3(cache_elem->loc, ob->obmat[3]);
copy_m4_m4(cache_elem->obmat, ob->obmat);
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 49c0d5fe8b4..16d90b261bd 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -22,6 +22,7 @@
#include "DRW_engine.h"
#include "DRW_render.h"
+#include "BKE_library.h"
#include "BKE_object.h"
#include "BKE_shader_fx.h"
@@ -656,7 +657,8 @@ void GPENCIL_cache_finish(void *vedata)
cache_ob = &stl->g_data->gp_object_cache[i];
if (!cache_ob->is_dup_ob) {
ob = cache_ob->ob;
- BLI_ghash_insert(gh_objects, ob->id.name, cache_ob->ob);
+ char *name = BKE_id_to_unique_string_key(&ob->id);
+ BLI_ghash_insert(gh_objects, name, cache_ob->ob);
}
}
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h
index 2922f51e8cb..ed4915651f1 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.h
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.h
@@ -69,7 +69,7 @@ typedef struct tGPencilObjectCache {
struct Object *ob;
struct bGPdata *gpd;
int idx; /*original index, can change after sort */
- char name[66];
+ char *name;
/* effects */
bool has_fx;
More information about the Bf-blender-cvs
mailing list