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
path: root/source
diff options
context:
space:
mode:
authorGermano <germano.costa@ig.com.br>2018-05-28 19:04:21 +0300
committerGermano <germano.costa@ig.com.br>2018-05-28 19:47:04 +0300
commitf8d0447dfb7cbbfe4a8a29c4e7d23bb5890e421f (patch)
tree0579e03ae0071c1358032ecca0e451f6e7d748e0 /source
parentf36315dd3416001f187076d1415aac6b023447f4 (diff)
CoW: Skip used pointers in MetaBall edit mode.
Diffstat (limited to 'source')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
index 3cc17542487..88e5814baa6 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
@@ -77,6 +77,7 @@ extern "C" {
# include "DNA_lattice_types.h"
# include "DNA_linestyle_types.h"
# include "DNA_material_types.h"
+# include "DNA_meta_types.h"
# include "DNA_node_types.h"
# include "DNA_texture_types.h"
# include "DNA_world_types.h"
@@ -429,6 +430,14 @@ void updata_curve_edit_mode_pointers(const Depsgraph * /*depsgraph*/,
curve_cow->editfont = curve_orig->editfont;
}
+void update_mball_edit_mode_pointers(const Depsgraph * /*depsgraph*/,
+ const ID *id_orig, ID *id_cow)
+{
+ const MetaBall *mball_orig = (const MetaBall *)id_orig;
+ MetaBall *mball_cow = (MetaBall *)id_cow;
+ mball_cow->editelems = mball_orig->editelems;
+}
+
void updata_mesh_edit_mode_pointers(const Depsgraph *depsgraph,
const ID *id_orig, ID *id_cow)
{
@@ -468,6 +477,9 @@ void updata_edit_mode_pointers(const Depsgraph *depsgraph,
case ID_CU:
updata_curve_edit_mode_pointers(depsgraph, id_orig, id_cow);
break;
+ case ID_MB:
+ update_mball_edit_mode_pointers(depsgraph, id_orig, id_cow);
+ break;
default:
break;
}
@@ -815,6 +827,12 @@ void discard_curve_edit_mode_pointers(ID *id_cow)
curve_cow->editfont = NULL;
}
+void discard_mball_edit_mode_pointers(ID *id_cow)
+{
+ MetaBall *mball_cow = (MetaBall *)id_cow;
+ mball_cow->editelems = NULL;
+}
+
void discard_mesh_edit_mode_pointers(ID *id_cow)
{
Mesh *mesh_cow = (Mesh *)id_cow;
@@ -842,6 +860,9 @@ void discard_edit_mode_pointers(ID *id_cow)
case ID_CU:
discard_curve_edit_mode_pointers(id_cow);
break;
+ case ID_MB:
+ discard_mball_edit_mode_pointers(id_cow);
+ break;
default:
break;
}