From: Enrico Forestieri Date: Sun, 3 Aug 2014 14:47:22 +0000 (+0200) Subject: Fix bug #9151 (Wrong reverse search for images and tables). X-Git-Tag: 2.1.2~32 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2a0b22ba9e650ee8be3cd76a636c61656501f90f;p=features.git 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 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