X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBidi.C;h=e29b62087d0783aea1a4d9a7fa6b5f3f44f7eb47;hb=fd2124c83dfcfeaf33b64d1d33c8ceb8d9f5f9b9;hp=86a6f8defcf4535263dbb6b31558efbee61cc0b6;hpb=3159d1a52e777f62531932edc010bf5f8b9d6d59;p=lyx.git diff --git a/src/Bidi.C b/src/Bidi.C index 86a6f8defc..e29b62087d 100644 --- a/src/Bidi.C +++ b/src/Bidi.C @@ -8,6 +8,7 @@ * Full author contact details are available in file CREDITS. */ +#include #include "Bidi.h" #include "buffer.h" @@ -17,7 +18,6 @@ #include "lyxrc.h" #include "paragraph.h" -#include "insets/updatableinset.h" using lyx::pos_type; @@ -52,7 +52,7 @@ bool Bidi::same_direction() const void Bidi::computeTables(Paragraph const & par, - Buffer const & buf, Row & row) + Buffer const & buf, Row const & row) { same_direction_ = true; if (!lyxrc.rtl_support) { @@ -60,9 +60,7 @@ void Bidi::computeTables(Paragraph const & par, return; } - InsetOld * inset = par.inInset(); - if (inset && inset->owner() && - inset->owner()->lyxCode() == InsetOld::ERT_CODE) { + if (par.ownerCode() == InsetBase::ERT_CODE) { start_ = -1; return; } @@ -140,7 +138,7 @@ void Bidi::computeTables(Paragraph const & par, log2vis_list_[lpos - start_] = rtl ? 1 : -1; } else if (lev < new_level) { log2vis_list_[lpos - start_] = rtl ? -1 : 1; - if (new_level > rtl_par) + if (new_level > 0 && !rtl_par) same_direction_ = false; } else log2vis_list_[lpos - start_] = new_rtl ? -1 : 1;