ListOfBuffers Buffer::allRelatives() const
{
ListOfBuffers lb = masterBuffer()->getDescendents();
- lb.push_front(const_cast<Buffer *>(this));
+ lb.push_front(const_cast<Buffer *>(masterBuffer()));
return lb;
}
int errorRow = it->error_in_line;
Buffer const * buf = 0;
Impl const * p = d;
- p->texrow.getIdFromRow(errorRow, id_start, pos_start);
- if (id_start == -1) {
- // Check whether the error occurred in a child
+ if (it->child_name.empty())
+ p->texrow.getIdFromRow(errorRow, id_start, pos_start);
+ else {
+ // The error occurred in a child
ListOfBuffers::const_iterator cit = clist.begin();
for (; cit != cen; ++cit) {
string const child_name =
found = p->texrow.getIdFromRow(errorRow, id_end, pos_end);
} while (found && id_start == id_end && pos_start == pos_end);
+ if (id_start != id_end) {
+ // Next registered position is outside the inset where
+ // the error occurred, so signal end-of-paragraph
+ pos_end = 0;
+ }
+
errorList.push_back(ErrorItem(it->error_desc,
it->error_text, id_start, pos_start, pos_end, buf));
}