Bug report #226

Saved project is not reloadable when it contains a MapComposition with legend

Added by Redmine Admin over 17 years ago. Updated over 14 years ago.

Status:Closed
Priority:Low
Assignee:Gavin Macaulay -
Category:Project Loading/Saving
Affected QGIS version: Regression?:No
Operating System:RedHat Easy fix?:No
Pull Request or Patch supplied: Resolution:fixed
Crashes QGIS or corrupts data: Copied to github as #:10285

Description

Saved project is not reloadable when it contains a MapComposition with legend

test.qgs - not reloadable project file (21.2 KB) Redmine Admin, 2006-08-22 03:46 AM

History

#1 Updated by Redmine Admin over 17 years ago

  • Status changed from Open to Closed
  • Resolution set to invalid

After some tests I can't reproduce this issue. I'll set the ticket to invalid until I can report further informations to this bug. Please excuse for this ticket.

#2 Updated by Redmine Admin over 17 years ago

  • Resolution deleted (invalid)
  • Status changed from Closed to Feedback

Now I can reproduce the mentioned bug.

1. I create a mapcomposition with some layers an a legend
2. Save the project
3. reload the project and the following error occurs:
... error occured while parsing element at line 349 column 56 ...

The error is caused by the <vectorlegend_6> ... </vectorlegend_6> of the file test.qgs. When I delete this block I'm able to load the project and the legend is deleted from my mapcomosition. Take a look at the attached file test.qgs.

#3 Updated by Gavin Macaulay - over 17 years ago

  • Status changed from Feedback to Open

The problem seems to be with the '=' character on line 349. This is probably conflicting with XML's use of '=' as a reserved character.

#4 Updated by Gavin Macaulay - over 17 years ago

  • Status changed from Open to In Progress

#5 Updated by Gavin Macaulay - over 17 years ago

  • Status changed from In Progress to Closed
  • Resolution set to fixed

Fixed in SVN .

There were several characters that the XML didn't like in a node name, but which postgres layers had in them. Layer ID's are now forced to consist only of letters, characters and underscores.

#6 Updated by Gavin Macaulay - over 17 years ago

PS. Existing projects can be fixed by finding the <layers> line, then editing any subsequent <layer_...> lines and replacing the =, (, and ) characters with an underscore (_).

#7 Updated by Anonymous over 14 years ago

Milestone Version 0.8 deleted

Also available in: Atom PDF