fixed various caching issues when rapidly changing values
This commit is contained in:
@@ -109,7 +109,7 @@ void Block::EdgeAddedSlot(NodeEdgePtr edge)
|
||||
RefreshFollowing();
|
||||
|
||||
// Entire track will have shifted, so the whole cache needs to be re-validated
|
||||
InvalidateCache(0, RATIONAL_MAX);
|
||||
SendInvalidateCache(0, RATIONAL_MAX);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ void Block::set_media_in(const rational &media_in)
|
||||
media_in_ = media_in;
|
||||
|
||||
// Signal that this clips contents have changed
|
||||
InvalidateCache(in(), out());
|
||||
SendInvalidateCache(in(), out());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,11 +69,9 @@ NodeInput *ClipBlock::texture_input()
|
||||
|
||||
QVariant ClipBlock::Value(NodeOutput* param, const rational& time)
|
||||
{
|
||||
QVariant value = Block::Value(param, time);
|
||||
|
||||
if (param == texture_output()) {
|
||||
// If the time retrieved is within this block, get texture information
|
||||
if (time >= in() && time < out()) {
|
||||
if (texture_input()->IsConnected() && time >= in() && time < out()) {
|
||||
// We convert the time given (timeline time) to media time
|
||||
rational media_time = SequenceToMediaTime(time);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user