]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.cpp
Support for multiple bibliographies setting "per child"
[lyx.git] / src / Cursor.cpp
index 822dc6e53cbb1519357479fe8224a393502e93c1..378a138da6b20c0c3daa7e3883d1aaa7a7d35834 100644 (file)
@@ -785,12 +785,11 @@ void Cursor::getSurroundingPos(pos_type & left_pos, pos_type & right_pos) const
        right_pos = -1;
 
        Row const & row = textRow();
-       TextMetrics const & tm = bv_->textMetrics(text());
        double dummy = 0;
-       Row::const_iterator cit = tm.findRowElement(row, pos(), boundary(), dummy);
+       Row::const_iterator cit = row.findElement(pos(), boundary(), dummy);
        // Handle the case of empty row
        if (cit == row.end()) {
-               if (paragraph().isRTL(buffer()->params()))
+               if (row.isRTL())
                        right_pos = row.pos();
                else
                        left_pos = row.pos() - 1;
@@ -864,10 +863,8 @@ void Cursor::getSurroundingPos(pos_type & left_pos, pos_type & right_pos) const
 
 bool Cursor::posVisToNewRow(bool movingLeft)
 {
-       Paragraph const & par = paragraph();
-       Buffer const & buf = *buffer();
        Row const & row = textRow();
-       bool par_is_LTR = !par.isRTL(buf.params());
+       bool par_is_LTR = !row.isRTL();
 
        // Inside a table, determining whether to move to the next or
        // previous row should be done based on the table's direction.
@@ -2245,6 +2242,7 @@ void Cursor::sanitize()
 {
        setBuffer(&bv_->buffer());
        DocIterator::sanitize();
+       new_word_.sanitize();
        if (selection())
                anchor_.sanitize();
        else