From 2a0b22ba9e650ee8be3cd76a636c61656501f90f Mon Sep 17 00:00:00 2001 From: Enrico Forestieri Date: Sun, 3 Aug 2014 16:47:22 +0200 Subject: [PATCH] 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. --- src/BufferView.cpp | 11 +++++++++-- status.21x | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/BufferView.cpp b/src/BufferView.cpp index ae3b640dc2..324c65dff4 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 02b4cd8334..5f3fc6283d 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 -- 2.39.5