commit 44e09b223e0efad3346180ea13f9dfc8d3a58a49
Author: Enrico Forestieri <for...@lyx.org>
Date:   Thu Jun 5 23:46:18 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 paragraph, so that we would jump near the beginning of
    the document. In this way we at least jump at the beginning of the
    inset.

diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index ba0df6e..afc29be 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -2295,7 +2295,12 @@ void BufferView::setCursorFromRow(int row)
                DocIterator const dit = buffer_.getParFromID(tmpid);
                if (dit == doc_iterator_end(&buffer_))
                        posvalid = false;
-               else {
+               else if (dit.depth() > 1) {
+                       // We are an inset.
+                       setCursor(dit);
+                       recenter();
+                       return;
+               } else {
                        newpit = dit.pit();
                        // now have to check pos.
                        newpos = tmppos;

Reply via email to