Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonioya <blendergit@gmail.com>2019-02-27 10:50:29 +0300
committerAntonioya <blendergit@gmail.com>2019-02-27 10:50:29 +0300
commit4732f90a4f19954b56f2c2692e8be304359d1ec1 (patch)
tree16d735e0a90061ca43a516dc8b4e96872c55c44f
parent6155faf5bda861c929dbebaf022199580c64d2fe (diff)
GP: Use unique names for instance objects
When instance objects linked, the name could not be unique.
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_cache_utils.c3
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_engine.c4
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_engine.h2
3 files changed, 6 insertions, 3 deletions
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;