X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferview_funcs.cpp;h=3f132de962d585d3c1366832038f27a22a5988cc;hb=4734433a3ccc287a63fe48726e354e78bc481a81;hp=d777ac725bec25555374af1987c2ab87782eeca5;hpb=9df31de303cc61fc1cbb85968d35ea79188b53f0;p=lyx.git diff --git a/src/bufferview_funcs.cpp b/src/bufferview_funcs.cpp index d777ac725b..3f132de962 100644 --- a/src/bufferview_funcs.cpp +++ b/src/bufferview_funcs.cpp @@ -178,11 +178,16 @@ Point coordOffset(BufferView const & bv, DocIterator const & dit, bool rtl = bv.textMetrics(sl.text()).isRTL(sl, boundary_i); if (rtl) x -= lastw; + // remember width for the case that sl.inset() is positioned in an RTL inset + Dimension const & dim = bv.parMetrics(sl.text(), sl.pit()). + insetDimension(&sl.inset()); + lastw = dim.wid; + } else { + // remember width for the case that sl.inset() is positioned in an RTL inset + Dimension const dim = sl.inset().dimension(bv); + lastw = dim.wid; } - // remember width for the case that sl.inset() is positioned in an RTL inset - lastw = sl.inset().width(); - //lyxerr << "Cursor::getPos, i: " // << i << " x: " << xx << " y: " << y << endl; }