Fix (unreported): GPv3: Incorrect user count for drawing at index 0
The `GreasePencil::update_drawing_users_for_layer` function was using an incorrect drawing index check, skipping over drawing 0 every time. As a consequence the first drawing may have zero users despite at least one frame referencing it. Pull Request: https://projects.blender.org/blender/blender/pulls/129955
This commit is contained in:
@@ -2984,16 +2984,15 @@ void GreasePencil::update_drawing_users_for_layer(const blender::bke::greasepenc
|
||||
{
|
||||
using namespace blender;
|
||||
for (auto [key, value] : layer.frames().items()) {
|
||||
if (value.drawing_index > 0 && value.drawing_index < this->drawings().size()) {
|
||||
GreasePencilDrawingBase *drawing_base = this->drawing(value.drawing_index);
|
||||
if (drawing_base->type != GP_DRAWING) {
|
||||
continue;
|
||||
}
|
||||
bke::greasepencil::Drawing &drawing =
|
||||
reinterpret_cast<GreasePencilDrawing *>(drawing_base)->wrap();
|
||||
if (!drawing.has_users()) {
|
||||
drawing.add_user();
|
||||
}
|
||||
BLI_assert(this->drawings().index_range().contains(value.drawing_index));
|
||||
GreasePencilDrawingBase *drawing_base = this->drawing(value.drawing_index);
|
||||
if (drawing_base->type != GP_DRAWING) {
|
||||
continue;
|
||||
}
|
||||
bke::greasepencil::Drawing &drawing =
|
||||
reinterpret_cast<GreasePencilDrawing *>(drawing_base)->wrap();
|
||||
if (!drawing.has_users()) {
|
||||
drawing.add_user();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user