Skip to content

Commit 9838a8f

Browse files
committedApr 1, 2017
Followup 90f381, fix memory leaks when rendering canvas
1 parent 22cf49d commit 9838a8f

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed
 

‎src/core/qgsmaprendererparalleljob.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ void QgsMapRendererParallelJob::cancelWithoutBlocking()
141141
if ( mStatus == RenderingLayers )
142142
{
143143
disconnect( &mFutureWatcher, SIGNAL( finished() ), this, SLOT( renderLayersFinished() ) );
144-
connect( &mFutureWatcher, SIGNAL( finished() ), this, SLOT( renderingFinished() ) );
144+
connect( &mFutureWatcher, SIGNAL( finished() ), this, SLOT( renderLayersFinishedWhenJobCanceled() ) );
145145
}
146146
}
147147

@@ -306,3 +306,11 @@ void QgsMapRendererParallelJob::renderLabelsStatic( QgsMapRendererParallelJob* s
306306
painter.end();
307307
}
308308

309+
void QgsMapRendererParallelJob::renderLayersFinishedWhenJobCanceled()
310+
{
311+
logRenderingTime( mLayerJobs );
312+
313+
cleanupJobs( mLayerJobs );
314+
renderingFinished();
315+
}
316+

‎src/core/qgsmaprendererparalleljob.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ class CORE_EXPORT QgsMapRendererParallelJob : public QgsMapRendererQImageJob
7474
QgsRenderContext mLabelingRenderContext;
7575
QFuture<void> mLabelingFuture;
7676
QFutureWatcher<void> mLabelingFutureWatcher;
77+
78+
private slots:
79+
80+
void renderLayersFinishedWhenJobCanceled();
7781
};
7882

7983

0 commit comments

Comments
 (0)
Please sign in to comment.