diff --git a/source/blender/blenkernel/intern/grease_pencil.cc b/source/blender/blenkernel/intern/grease_pencil.cc index 05865c96e90..21a64f0e2a5 100644 --- a/source/blender/blenkernel/intern/grease_pencil.cc +++ b/source/blender/blenkernel/intern/grease_pencil.cc @@ -2055,9 +2055,6 @@ static void write_layer(BlendWriter *writer, GreasePencilLayer *node) { using namespace blender::bke::greasepencil; - BLO_write_struct(writer, GreasePencilLayer, node); - BLO_write_string(writer, node->base.name); - /* Re-create the frames storage only if it was tagged dirty. */ if ((node->frames_storage.flag & GP_LAYER_FRAMES_STORAGE_DIRTY) != 0) { MEM_SAFE_FREE(node->frames_storage.keys); @@ -2078,6 +2075,9 @@ static void write_layer(BlendWriter *writer, GreasePencilLayer *node) node->frames_storage.flag &= ~GP_LAYER_FRAMES_STORAGE_DIRTY; } + BLO_write_struct(writer, GreasePencilLayer, node); + BLO_write_string(writer, node->base.name); + BLO_write_int32_array(writer, node->frames_storage.num, node->frames_storage.keys); BLO_write_struct_array( writer, GreasePencilFrame, node->frames_storage.num, node->frames_storage.values);