From f427eb515204a6eb77baad300efa507c4c75ffa8 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Tue, 3 Dec 2024 11:16:53 +1000 Subject: [PATCH] Fix test The test was using a non-real-world situation where we were setting the flag to render label rects only, but then trying to also retrieve the label results. --- src/core/labeling/qgslabelingengine.cpp | 8 ++++++++ tests/src/core/testqgslabelingengine.cpp | 2 -- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/core/labeling/qgslabelingengine.cpp b/src/core/labeling/qgslabelingengine.cpp index cef0062771c50..6f9e8a115bfa1 100644 --- a/src/core/labeling/qgslabelingengine.cpp +++ b/src/core/labeling/qgslabelingengine.cpp @@ -560,6 +560,14 @@ void QgsLabelingEngine::drawLabels( QgsRenderContext &context, const QString &la { drawLabelRect( label ); } + + if ( settings.testFlag( Qgis::LabelingFlag::DrawUnplacedLabels ) || settings.testFlag( Qgis::LabelingFlag::CollectUnplacedLabels ) ) + { + for ( pal::LabelPosition *label : std::as_const( mUnlabeled ) ) + { + drawLabelRect( label ); + } + } } else { diff --git a/tests/src/core/testqgslabelingengine.cpp b/tests/src/core/testqgslabelingengine.cpp index bfdb7223dc40f..e6a224a2c5aab 100644 --- a/tests/src/core/testqgslabelingengine.cpp +++ b/tests/src/core/testqgslabelingengine.cpp @@ -4209,7 +4209,6 @@ void TestQgsLabelingEngine::labelingResults() QgsLabelingEngineSettings engineSettings = mapSettings.labelingEngineSettings(); engineSettings.setFlag( Qgis::LabelingFlag::UsePartialCandidates, false ); - engineSettings.setFlag( Qgis::LabelingFlag::DrawLabelRectOnly, true ); //engineSettings.setFlag( Qgis::LabelingFlag::DrawCandidates, true ); mapSettings.setLabelingEngineSettings( engineSettings ); @@ -4415,7 +4414,6 @@ void TestQgsLabelingEngine::labelingResultsCurved() QgsLabelingEngineSettings engineSettings = mapSettings.labelingEngineSettings(); engineSettings.setFlag( Qgis::LabelingFlag::UsePartialCandidates, false ); - engineSettings.setFlag( Qgis::LabelingFlag::DrawLabelRectOnly, true ); //engineSettings.setFlag( Qgis::LabelingFlag::DrawCandidates, true ); mapSettings.setLabelingEngineSettings( engineSettings );