Skip to content

Commit dfb28fe

Browse files
authoredOct 22, 2018
Merge pull request #8228 from pblottiere/server_deadlock
[server] Fixes freeze of server during rendering
2 parents 4fa62e9 + ef4bf1a commit dfb28fe

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed
 

‎src/server/services/wms/qgsmaprendererjobproxy.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,13 @@ namespace QgsWms
5656
renderJob.setFeatureFilterProvider( mFeatureFilterProvider );
5757
#endif
5858
renderJob.start();
59+
60+
// Allows the main thread to manage blocking call coming from rendering
61+
// threads (see discussion in https://issues.qgis.org/issues/18988).
62+
QEventLoop loop;
63+
QObject::connect( &renderJob, &QgsMapRendererParallelJob::finished, &loop, &QEventLoop::quit );
64+
loop.exec();
65+
5966
renderJob.waitForFinished();
6067
*image = renderJob.renderedImage();
6168
mPainter.reset( new QPainter( image ) );

0 commit comments

Comments
 (0)
Please sign in to comment.