Otherwise the resulting document may contain references to authors that are not present in the author list, which results in a crash.
Fixes-bug: #8769
#include "BufferParams.h"
#include "Changes.h"
#include "Font.h"
#include "BufferParams.h"
#include "Changes.h"
#include "Font.h"
if (!dest_buffer || !new_buffer || !old_buffer)
return;
if (!dest_buffer || !new_buffer || !old_buffer)
return;
- // Copy the buffer params to the new buffer
+ // Copy the buffer params to the destination buffer
dest_buffer->params() = options_.settings_from_new
? new_buffer->params() : old_buffer->params();
dest_buffer->params() = options_.settings_from_new
? new_buffer->params() : old_buffer->params();
+ // Copy extra authors to the destination buffer
+ AuthorList const & extra_authors = options_.settings_from_new ?
+ old_buffer->params().authors() : new_buffer->params().authors();
+ AuthorList::Authors::const_iterator it = extra_authors.begin();
+ for (; it != extra_authors.end(); it++)
+ dest_buffer->params().authors().record(*it);
+
doStatusMessage();
// do the real work
doStatusMessage();
// do the real work