Fix bug #9151 (Wrong reverse search for images and tables).

If the reverse position corresponds to an inset, its paragraph id
does not follow the main text numbering. Typically, an inset has
only a few paragraphs, so that we would jump near the beginning of
the document. Now the cursor in LyX jumps to the right spot.
This commit is contained in:
Enrico Forestieri 2014-08-03 16:47:22 +02:00
parent c31cb9fd98
commit 2a0b22ba9e
2 changed files with 11 additions and 2 deletions

View File

@ -2290,10 +2290,17 @@ void BufferView::setCursorFromRow(int row)
// we need to make sure that the row and position
// we got back are valid, because the buffer may well
// have changed since we last generated the LaTeX.
DocIterator const dit = buffer_.getParFromID(tmpid);
DocIterator dit = buffer_.getParFromID(tmpid);
if (dit == doc_iterator_end(&buffer_))
posvalid = false;
else {
else if (dit.depth() > 1) {
// We are in an inset.
pos_type lastpos = dit.lastpos();
dit.pos() = tmppos > lastpos ? lastpos : tmppos;
setCursor(dit);
recenter();
return;
} else {
newpit = dit.pit();
// now have to check pos.
newpos = tmppos;

View File

@ -80,6 +80,8 @@ What's new
- Fix listings validator with regard to aboveskip and belowskip (bug 7373).
- Fix reverse search in insets (figures, tables, branches, etc.) (bug 9151).
* INTERNALS