Bug report #13708

Nested symbology layer not displayed anymore on qgis server 2.10.1

Added by Nicolas Liaudat about 4 years ago. Updated almost 4 years ago.

Status:Closed
Priority:Severe/Regression
Assignee:Matthias Kuhn
Category:Symbology
Affected QGIS version:master Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:fixed/implemented
Crashes QGIS or corrupts data:No Copied to github as #:21735

Description

Hi,

Nested symbology is not rendered on qgis server 2.10.1 (debian jessie).

Please have a look at the screenshots.

Regards

rendering_working.png (41.1 KB) Nicolas Liaudat, 2015-10-29 06:44 AM

rendering_not-working.png (22 KB) Nicolas Liaudat, 2015-10-29 06:44 AM

config_working.png (10 KB) Nicolas Liaudat, 2015-10-29 06:44 AM

config_not-working.png (6.91 KB) Nicolas Liaudat, 2015-10-29 06:44 AM

Bug_report_13708.zip (123 KB) Nicolas Liaudat, 2015-10-30 03:12 AM

Associated revisions

Revision d796ade3
Added by Matthias Kuhn almost 4 years ago

Also render all parent features on refined rules

Fix #13708

History

#1 Updated by Nyall Dawson about 4 years ago

Can you test with 2.12? 2.10 won't receive any further updates.

#2 Updated by Nyall Dawson about 4 years ago

  • Status changed from Open to Feedback

#3 Updated by Nicolas Liaudat about 4 years ago

Same effect in qgis 2.12 Desktop, so I mean the same for 2.12 server

#4 Updated by Nyall Dawson about 4 years ago

So to clarify, you also see this in desktop? Can you share a sample project?

#5 Updated by Nicolas Liaudat about 4 years ago

Here you'll find a test project.
You can compare the nested and flat styles.

Regards

#6 Updated by Giovanni Manghi about 4 years ago

  • Operating System deleted (debian jessie)
  • Status changed from Feedback to Open
  • Affected QGIS version changed from 2.10.1 to master

It seems confirmed to me on master, if it worked ok in previous qgis releases please tag this as blocker (regression).

#7 Updated by Nicolas Liaudat almost 4 years ago

Hi, this is a confirmed regression. I have no rights to change tags, could you change that issue to blocker ?
Regards

#8 Updated by Giovanni Manghi almost 4 years ago

  • Priority changed from Normal to Severe/Regression

#9 Updated by Paolo Cavallini almost 4 years ago

Still true in current master (would be 2.14 LTR)?

#10 Updated by Sebastian Dietrich almost 4 years ago

  • Category changed from QGIS Server to Symbology

Yes, I can confirm it is still true in current master (1cd4570136344caafebbe911bbe797ddbc87a56a).

#11 Updated by Sebastian Dietrich almost 4 years ago

Ok, I tracked it down to QgsVectorLayerRenderer

  mRendererV2->startRender( mContext, mFields );

  QString rendererFilter = mRendererV2->filter( mFields );

QgsRuleBasedRendererV2::startRender() sets the filter returned by QgsRuleBasedRendererV2::filter() by combining the filters for the individual rules. This combining is done wrong.
Example:
  • Rule 1 (Filter "A" = 1)
    • Rule 1.1 (Filter "B" = 2)
  • Rule 2 (Filter "A" = 3)

The rendererFilter will contain:
(("A" = 1) AND ("B" = 2)) OR ("A" = 3)

But it should contain:
("A" = 1) OR ("A" = 3)

#12 Updated by Sebastian Dietrich almost 4 years ago

  • Status changed from Open to In Progress
  • Assignee set to Sebastian Dietrich
  • % Done changed from 0 to 20

#13 Updated by Sebastian Dietrich almost 4 years ago

The regression occurred in 1d7a6a4909e70fe03251c021336e51d311c02116.

Please note:
As far as I can see it never made it to QGIS 2.10.1. I even checked out the release-2_10 branch (746af79428668bdb727f11c561ad0e0639316f3d) and tested with the data attached to this ticket, everything ok.

#14 Updated by Anonymous almost 4 years ago

  • Status changed from In Progress to Closed

#15 Updated by Sebastian Dietrich almost 4 years ago

  • % Done changed from 20 to 100
  • Assignee changed from Sebastian Dietrich to Matthias Kuhn
  • Resolution set to fixed/implemented

Also available in: Atom PDF