Fix #137152: Grease Pencil: Layer flag is overridden during conversion

Broken by 4c9c9af2d6.

When Grease Pencil objects get converted (<= 4.2 to >= 4.3)
the code copies the legacy color over to the new one.
The issue is that the new color is a `float[3]` not a
`float[4]`! Thus the `flag` after the `color` was getting
overridden.

This fixes the issue by replacing the `copy_v4_v4` with a
`copy_v3_v3`.

Pull Request: https://projects.blender.org/blender/blender/pulls/137161
This commit is contained in:
Falk David 2025-04-09 13:38:21 +02:00 • committed by Falk David
parent f77245e523
commit 58fa6a50ce

View file

@ -1065,7 +1065,7 @@ static void legacy_gpencil_to_grease_pencil(ConversionData &conversion_data,
new_layer.base.flag, (gpl->flag & GP_LAYER_USE_MASK) == 0, GP_LAYER_TREE_NODE_HIDE_MASKS);
/* Copy Dope-sheet channel color. */
copy_v4_v4(new_layer.base.color, gpl->color);
copy_v3_v3(new_layer.base.color, gpl->color);
new_layer.blend_mode = int8_t(gpl->blend_mode);
new_layer.parent = gpl->parent;