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:
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r--source/blender/blenloader/intern/readfile.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 167917f7b6a..f6c1cd0380a 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -74,6 +74,7 @@
#include "DNA_object_types.h"
#include "DNA_packedFile_types.h"
#include "DNA_particle_types.h"
+#include "DNA_curveprofile_types.h"
#include "DNA_lightprobe_types.h"
#include "DNA_rigidbody_types.h"
#include "DNA_text_types.h"
@@ -132,6 +133,7 @@
#include "BKE_paint.h"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
+#include "BKE_curveprofile.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
@@ -2698,6 +2700,19 @@ static void direct_link_curvemapping(FileData *fd, CurveMapping *cumap)
/** \} */
/* -------------------------------------------------------------------- */
+/** \name Read CurveProfile
+ * \{ */
+
+static void direct_link_curveprofile(FileData *fd, CurveProfile *profile)
+{
+ profile->path = newdataadr(fd, profile->path);
+ profile->table = NULL;
+ profile->segments = NULL;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
/** \name Read ID: Brush
* \{ */
@@ -5802,6 +5817,13 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb)
}
}
}
+ else if (md->type == eModifierType_Bevel) {
+ BevelModifierData *bmd = (BevelModifierData *)md;
+ bmd->custom_profile = newdataadr(fd, bmd->custom_profile);
+ if (bmd->custom_profile) {
+ direct_link_curveprofile(fd, bmd->custom_profile);
+ }
+ }
}
}
@@ -6758,6 +6780,13 @@ static void direct_link_scene(FileData *fd, Scene *sce)
if (sce->toolsettings->gp_sculpt.cur_primitive) {
direct_link_curvemapping(fd, sce->toolsettings->gp_sculpt.cur_primitive);
}
+
+ /* Relink toolsettings curve profile */
+ sce->toolsettings->custom_bevel_profile_preset = newdataadr(
+ fd, sce->toolsettings->custom_bevel_profile_preset);
+ if (sce->toolsettings->custom_bevel_profile_preset) {
+ direct_link_curveprofile(fd, sce->toolsettings->custom_bevel_profile_preset);
+ }
}
if (sce->ed) {