Skip to content

Commit

Permalink
Fix rendering regression
Browse files Browse the repository at this point in the history
In parallel rendering, make sure mFinalImage exists before drawing
labels.
  • Loading branch information
Hugo Mercier committed Dec 17, 2019
1 parent 5d8899b commit d6ee3ed
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion src/core/qgsmaprendererparalleljob.cpp
Expand Up @@ -228,6 +228,12 @@ void QgsMapRendererParallelJob::renderLayersFinished()
}
}

// compose final image for labeling
if ( mSecondPassLayerJobs.isEmpty() )
{
mFinalImage = composeImage( mSettings, mLayerJobs, mLabelJob );
}

QgsDebugMsgLevel( QStringLiteral( "PARALLEL layers finished" ), 2 );

if ( mSettings.testFlag( QgsMapSettings::DrawLabeling ) && !mLabelJob.context.renderingStopped() )
Expand Down Expand Up @@ -284,7 +290,19 @@ void QgsMapRendererParallelJob::renderingFinished()
}
else
{
renderLayersSecondPassFinished();
QgsDebugMsgLevel( QStringLiteral( "PARALLEL finished" ), 2 );

logRenderingTime( mLayerJobs, mSecondPassLayerJobs, mLabelJob );

cleanupJobs( mLayerJobs );

cleanupLabelJob( mLabelJob );

mStatus = Idle;

mRenderingTime = mRenderingStart.elapsed();

emit finished();
}
}

Expand Down

0 comments on commit d6ee3ed

Please sign in to comment.