GNOME Bugzilla – Bug 639066
incorrectly allows nonrelocatable schemas as <child>s
Last modified: 2018-05-24 12:56:54 UTC
<schemalist> <schema id="org.example.Foo" path="/foo/" /> <schema id="org.example.Bar" path="/bar/"> <child name="foo" schema="org.example.Foo" /> </schema> </schemalist> validates, but I don't see why it would allow a non-relocatable schema with path /foo/ as a child of a schema with path /bar/ ?
It is difficult to fix this because the child could be in a different file, so we don't always have it around to check.
Right, the compiler will need to be 2-pass, first read all of the schemas before checking this. (Another reason to do 2-pass would be one programme/library installing a schema containing its enums, and then another programme wanting to use these in its schema. Which I tried to do for g-t/vte.)
This got discussed a bit today at the GTK+ hackfest, and the conclusion was that it’s not actually harmful or incorrect to have a child schema which is non-relocatable (i.e. specifies a path), as long as that path is consistent between the parent and child. See bug #723003. Allison, do we still care about fixing the case where the paths are inconsistent between the parent and child? I suspect so.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/386.