@@ -25,10 +25,10 @@ bool QgsRuleBasedLabelProvider::prepare( const QgsRenderContext& context, QStrin
25
25
return true ;
26
26
}
27
27
28
- void QgsRuleBasedLabelProvider::registerFeature ( QgsFeature& feature, QgsRenderContext &context )
28
+ void QgsRuleBasedLabelProvider::registerFeature ( QgsFeature& feature, QgsRenderContext &context, QgsGeometry* obstacleGeometry )
29
29
{
30
30
// will register the feature to relevant sub-providers
31
- mRules .rootRule ()->registerFeature ( feature, context, mSubProviders );
31
+ mRules .rootRule ()->registerFeature ( feature, context, mSubProviders , obstacleGeometry );
32
32
}
33
33
34
34
QList<QgsAbstractLabelProvider*> QgsRuleBasedLabelProvider::subProviders ()
@@ -241,7 +241,7 @@ void QgsRuleBasedLabeling::Rule::prepare( const QgsRenderContext& context, QStri
241
241
}
242
242
}
243
243
244
- QgsRuleBasedLabeling::Rule::RegisterResult QgsRuleBasedLabeling::Rule::registerFeature ( QgsFeature& feature, QgsRenderContext &context, QgsRuleBasedLabeling::RuleToProviderMap& subProviders )
244
+ QgsRuleBasedLabeling::Rule::RegisterResult QgsRuleBasedLabeling::Rule::registerFeature ( QgsFeature& feature, QgsRenderContext &context, QgsRuleBasedLabeling::RuleToProviderMap& subProviders, QgsGeometry* obstacleGeometry )
245
245
{
246
246
if ( !isFilterOK ( feature, context )
247
247
|| !isScaleOK ( context.rendererScale () ) )
@@ -252,7 +252,7 @@ QgsRuleBasedLabeling::Rule::RegisterResult QgsRuleBasedLabeling::Rule::registerF
252
252
// do we have active subprovider for the rule?
253
253
if ( subProviders.contains ( this ) && mIsActive )
254
254
{
255
- subProviders[this ]->registerFeature ( feature, context );
255
+ subProviders[this ]->registerFeature ( feature, context, obstacleGeometry );
256
256
registered = true ;
257
257
}
258
258
@@ -264,7 +264,7 @@ QgsRuleBasedLabeling::Rule::RegisterResult QgsRuleBasedLabeling::Rule::registerF
264
264
// Don't process else rules yet
265
265
if ( !rule->isElse () )
266
266
{
267
- RegisterResult res = rule->registerFeature ( feature, context, subProviders );
267
+ RegisterResult res = rule->registerFeature ( feature, context, subProviders, obstacleGeometry );
268
268
// consider inactive items as "registered" so the else rule will ignore them
269
269
willRegisterSomething |= ( res == Registered || res == Inactive );
270
270
registered |= willRegisterSomething;
@@ -276,7 +276,7 @@ QgsRuleBasedLabeling::Rule::RegisterResult QgsRuleBasedLabeling::Rule::registerF
276
276
{
277
277
Q_FOREACH ( Rule* rule, mElseRules )
278
278
{
279
- registered |= rule->registerFeature ( feature, context, subProviders ) != Filtered;
279
+ registered |= rule->registerFeature ( feature, context, subProviders, obstacleGeometry ) != Filtered;
280
280
}
281
281
}
282
282
0 commit comments