On 12/31/2009 02:45 PM, Tommaso Cucinotta wrote:
While traveling, I was thinking to a couple of unusual use-cases:
1) create a.lyx and b.lyx
2) let a.lyx include b.lyx
3) let b.lyx include a.lyx
I just tried, and we have segfault after 3) (infinite recursion in
Buffer::masterBuffer() [1]). Probably such operation attempt should
give up with an error to the user (but it may not be easy to identify
an arbitrary "loop" in what is supposed to be a DAG, with documents
that are not necessarily open).
There's an attempt to deal with this kind of problem in other places,
such as InsetInclude. Apparently, it pops up here, too.
Second use-case:
Create two documents, say a.lyx and b.lyx, and let them *both* include
c.lyx.
Now, open a.lyx, b.lyx and c.lyx.
Who's the master for c.lyx ? I tried through "View->Master", and it
seems the master changes according to the last-loaded master. Also,
when closing one of the two masters, its child is also closed.
This is expected, basically, at least the first part. That the child
closes whichever master closes is wrong.
rh