On 03/10/2014 04:02 PM, Vincent van Ravesteijn wrote:
Richard Heck schreef op 10-3-2014 20:54:
On 03/10/2014 03:32 PM, Jürgen Spitzmüller wrote:
2014-03-10 19:55 GMT+01:00 Vincent van Ravesteijn:
The problem is caused by 50bcd6ed7 (Use the master buffer's
param when compiling as a child (#8893)).
OK, then we need to re-add the children's authors at these two
points, apparently. What's the best way to do this?
Another issue about master-child relationships. Having two separate
copies of these structures just causes all kinds of problems. There
is a big part of me that thinks that, if a document is opened as a
child, then it should not be treated as having its own BufferParams
at all. Though I know this will cause all kinds of problems.
For the present, I don't see how we can just add the authors from the
children at this sort of point. We could see this same kind of
problem if View>Source were open (which, again, could be Uwe's
problem). So, if we are going to modify the BufferParams, they'll
stay modified, and we might as well do it at the beginning of the
validation or export routines. I guess we could introduce a temporary
BufferParams, but that would be messy at best, and it would probably
iterate, as well: We'd end up with tons of temporary copies.
I'm trying to think if there is some way we could modify what the
master Buffer regards as its authorlist when we are in the process of
exporting. Since validate() is only called during export, that would
also take care of that case. I.e., the thought would be to change
BufferParams::authors(), at least the const & version, so that it
returns something with the children in it if we're exporting. At
present, only Buffer knows if we are exporting, but MarkAsExporting
could easily be modified to deal with that.
Yes, I think we should create a BufferParams when we start exporting.
Collecting all data from the childs and merge it with master's, and
pass it along with the export routines.
I wonder though whether this is doable.
If we revert the offending commit, we will be back to 2.0.x behaviour.
Wouldn't this be acceptable?
It wouldn't be terrible. But we should definitely try to deal with the
root cause somehow.
Richard