commit 2a0b22ba9e650ee8be3cd76a636c61656501f90f Author: Enrico Forestieri <for...@lyx.org> Date: Sun Aug 3 16:47:22 2014 +0200
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. diff --git a/src/BufferView.cpp b/src/BufferView.cpp index ae3b640..324c65d 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -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; diff --git a/status.21x b/status.21x index 02b4cd8..5f3fc62 100644 --- a/status.21x +++ b/status.21x @@ -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