From: Abdelrazak Younes Date: Fri, 21 Sep 2007 21:11:05 +0000 (+0000) Subject: RTL bugfix: inside texted, use ParagraphMetrics::insetDimension() instead of Inset... X-Git-Tag: 1.6.10~8240 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=4734433a3ccc287a63fe48726e354e78bc481a81;p=features.git RTL bugfix: inside texted, use ParagraphMetrics::insetDimension() instead of Inset::dimension(). git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20422 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/bufferview_funcs.cpp b/src/bufferview_funcs.cpp index d91ce6c5e7..3f132de962 100644 --- a/src/bufferview_funcs.cpp +++ b/src/bufferview_funcs.cpp @@ -178,12 +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 - Dimension const dim = sl.inset().dimension(bv); - lastw = dim.wid; - //lyxerr << "Cursor::getPos, i: " // << i << " x: " << xx << " y: " << y << endl; }