Skip to content

Commit

Permalink
Only pass on the render context temporal range to the data provider
Browse files Browse the repository at this point in the history
when the layer is set to the ModeTemporalRangeFromDataProvider mode
  • Loading branch information
nyalldawson committed Mar 6, 2020
1 parent fa6d62f commit ce06505
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions src/core/raster/qgsrasterlayerrenderer.cpp
Expand Up @@ -228,12 +228,23 @@ QgsRasterLayerRenderer::QgsRasterLayerRenderer( QgsRasterLayer *layer, QgsRender
if ( rasterRenderer && !( rendererContext.flags() & QgsRenderContext::RenderPreviewJob ) )
layer->refreshRendererIfNeeded( rasterRenderer, rendererContext.extent() );

if ( renderContext()->isTemporal() && mPipe->provider()->temporalCapabilities() )
if ( layer->temporalProperties()->isActive() && renderContext()->isTemporal() )
{
mPipe->provider()->temporalCapabilities()->setRequestedTemporalRange( rendererContext.temporalRange() );
mPipe->provider()->temporalCapabilities()->setRequestedReferenceTemporalRange( layer->temporalProperties()->referenceTemporalRange() );
switch ( layer->temporalProperties()->mode() )
{
case QgsRasterLayerTemporalProperties::ModeFixedTemporalRange:
break;

case QgsRasterLayerTemporalProperties::ModeTemporalRangeFromDataProvider:
// in this mode we need to pass on the desired render temporal range to the data provider
if ( mPipe->provider()->temporalCapabilities() )
{
mPipe->provider()->temporalCapabilities()->setRequestedTemporalRange( rendererContext.temporalRange() );
mPipe->provider()->temporalCapabilities()->setRequestedReferenceTemporalRange( layer->temporalProperties()->referenceTemporalRange() );
}
break;
}
}

}

QgsRasterLayerRenderer::~QgsRasterLayerRenderer()
Expand Down

0 comments on commit ce06505

Please sign in to comment.