drawinglayer/source/processor2d/vclprocessor2d.cxx | 4 ++-- editeng/source/editeng/impedit3.cxx | 18 +++++++++++++----- sc/source/ui/view/output2.cxx | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-)
New commits: commit 4fa15ad7d6d0da49210fdea44622aee28dd066e2 Author: Petr Mladek <[email protected]> Date: Tue Jun 11 09:19:03 2013 +0200 Revert "fix fdo#60533, Set TEXT_LAYOUT_BIDI_STRONG flag." It caused some regressions. For example, see fdo65414 and fdo65562 This reverts commit 6708ad7f1baa8d4cef1718bdef1d26fb5d8510f3. Change-Id: I0108463c78bbcb48a4c218d78e51deaa39caec0c diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx index 1a50490..1dfc2f4 100644 --- a/drawinglayer/source/processor2d/vclprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx @@ -268,8 +268,8 @@ namespace drawinglayer if(rTextCandidate.getFontAttribute().getRTL()) { - sal_uInt32 nRTLLayoutMode(nOldLayoutMode & ~(TEXT_LAYOUT_COMPLEX_DISABLED)); - nRTLLayoutMode |= TEXT_LAYOUT_BIDI_RTL | TEXT_LAYOUT_BIDI_STRONG | TEXT_LAYOUT_TEXTORIGIN_LEFT; + sal_uInt32 nRTLLayoutMode(nOldLayoutMode & ~(TEXT_LAYOUT_COMPLEX_DISABLED|TEXT_LAYOUT_BIDI_STRONG)); + nRTLLayoutMode |= TEXT_LAYOUT_BIDI_RTL|TEXT_LAYOUT_TEXTORIGIN_LEFT; mpOutputDevice->SetLayoutMode(nRTLLayoutMode); } diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx index 5fd8362..d56ea0e 100644 --- a/editeng/source/editeng/impedit3.cxx +++ b/editeng/source/editeng/impedit3.cxx @@ -4306,13 +4306,18 @@ void ImpEditEngine::ImplInitDigitMode( OutputDevice* pOutDev, String* pString, x void ImpEditEngine::ImplInitLayoutMode( OutputDevice* pOutDev, sal_uInt16 nPara, sal_uInt16 nIndex ) { + sal_Bool bCTL = sal_False; sal_Bool bR2L = sal_False; if ( nIndex == 0xFFFF ) { + bCTL = HasScriptType( nPara, i18n::ScriptType::COMPLEX ); bR2L = IsRightToLeft( nPara ); } else { + ContentNode* pNode = GetEditDoc().GetObject( nPara ); + short nScriptType = GetScriptType( EditPaM( pNode, nIndex+1 ) ); + bCTL = nScriptType == i18n::ScriptType::COMPLEX; // this change was discussed in issue 37190 bR2L = GetRightToLeft( nPara, nIndex + 1) % 2 ? sal_True : sal_False; // it also works for issue 55927 @@ -4321,18 +4326,21 @@ void ImpEditEngine::ImplInitLayoutMode( OutputDevice* pOutDev, sal_uInt16 nPara, sal_uLong nLayoutMode = pOutDev->GetLayoutMode(); // We always use the left postion for DrawText() - // Let VCL do CTL checking - nLayoutMode &= ~(TEXT_LAYOUT_BIDI_RTL | TEXT_LAYOUT_COMPLEX_DISABLED); + nLayoutMode &= ~(TEXT_LAYOUT_BIDI_RTL); - if ( !bR2L ) + if ( !bCTL && !bR2L) { // No CTL/Bidi checking neccessary nLayoutMode |= ( TEXT_LAYOUT_COMPLEX_DISABLED | TEXT_LAYOUT_BIDI_STRONG ); } else { - //Use BIDI_STRONG, Stop VCL to perform ubidi algo on text. - nLayoutMode |= TEXT_LAYOUT_BIDI_RTL | TEXT_LAYOUT_TEXTORIGIN_LEFT | TEXT_LAYOUT_BIDI_STRONG; + // CTL/Bidi checking neccessary + // Don't use BIDI_STRONG, VCL must do some checks. + nLayoutMode &= ~( TEXT_LAYOUT_COMPLEX_DISABLED | TEXT_LAYOUT_BIDI_STRONG ); + + if ( bR2L ) + nLayoutMode |= TEXT_LAYOUT_BIDI_RTL|TEXT_LAYOUT_TEXTORIGIN_LEFT; } pOutDev->SetLayoutMode( nLayoutMode ); commit 722b109fa3cde246384230c9ee25723988083eb6 Author: Markus Mohrhard <[email protected]> Date: Fri Jun 7 05:28:04 2013 +0200 don't hide cell content behind pivot table buttons, fdo#60877 Change-Id: I1508aafcc7046c576a4d6de87900dc66f32b2f97 Reviewed-on: https://gerrit.libreoffice.org/4184 Reviewed-by: Kohei Yoshida <[email protected]> Tested-by: Kohei Yoshida <[email protected]> diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx index 5461fec..6fa83c3 100644 --- a/sc/source/ui/view/output2.cxx +++ b/sc/source/ui/view/output2.cxx @@ -1353,7 +1353,7 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY // (for automatic line break: only if not formatting for printer, as in ScColumn::GetNeededSize) if ( eType==OUTTYPE_WINDOW && - ( static_cast<const ScMergeFlagAttr&>(rPattern.GetItem(ATTR_MERGE_FLAG)).GetValue() & SC_MF_AUTO ) && + ( static_cast<const ScMergeFlagAttr&>(rPattern.GetItem(ATTR_MERGE_FLAG)).GetValue() & (SC_MF_AUTO|SC_MF_BUTTON|SC_MF_BUTTON_POPUP) ) && ( !bBreak || mpRefDevice == pFmtDevice ) ) { // filter drop-down width is now independent from row height _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
