Fix #97973: Red underline in action editor is stale

When switching to an object with invalid channels,
the red underline would only appear on the second redraw.
Same when switching the other way around, then they would
stay until the next redraw.

The issue is that the logic to check if that line should be drawn
is checking the flag of the `bAnimListElem` which gets it from
the FCurve. But the FCurve is only checked later down the line
when getting the name.

Fix it by checking the flag on the FCurve directly.

Pull Request: https://projects.blender.org/blender/blender/pulls/118522
This commit is contained in:
Christoph Lendenfeld
2024-02-20 17:33:39 +01:00
committed by Christoph Lendenfeld
parent f5151bbbeb
commit a0fb1486be

View File

@@ -4568,7 +4568,7 @@ static bool achannel_is_broken(const bAnimListElem *ale)
const FCurve *fcu = static_cast<const FCurve *>(ale->data);
/* The channel is disabled (has a bad rna path), or it's a driver that failed to evaluate. */
return (ale->flag & FCURVE_DISABLED) ||
return (fcu->flag & FCURVE_DISABLED) ||
(fcu->driver != nullptr && (fcu->driver->flag & DRIVER_FLAG_INVALID));
}
default: