renderer: prevent infinite loop occurring on some time invalidations
This commit is contained in:
@@ -148,6 +148,10 @@ void RenderBackend::SetViewerNode(ViewerOutput *viewer_node)
|
||||
copied_viewer_node_ = static_cast<ViewerOutput*>(viewer_node_->copy());
|
||||
copy_map_.insert(viewer_node_, copied_viewer_node_);
|
||||
|
||||
// We begin an operation and never end it which prevents the copy from unnecessarily
|
||||
// invalidating its own cache
|
||||
copied_viewer_node_->BeginOperation();
|
||||
|
||||
NodeGraphChanged(viewer_node_->texture_input());
|
||||
NodeGraphChanged(viewer_node_->samples_input());
|
||||
ProcessUpdateQueue();
|
||||
|
||||
@@ -147,6 +147,9 @@ QString FrameHashCache::GetFormatExtension()
|
||||
|
||||
QVector<rational> FrameHashCache::GetFrameListFromTimeRange(TimeRangeList range_list, const rational &timebase)
|
||||
{
|
||||
// If timebase is null, this will be an infinite loop
|
||||
Q_ASSERT(!timebase.isNull());
|
||||
|
||||
QVector<rational> times;
|
||||
|
||||
while (!range_list.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user