[Libreoffice-commits] core.git: Branch 'distro/suse/suse-4.0.3' - 2 commits - drawinglayer/source editeng/source sc/source

Petr Mladek pmladek at suse.cz
Thu Jun 13 06:52:30 PDT 2013


 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 <pmladek at suse.cz>
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 <markus.mohrhard at googlemail.com>
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 <kohei.yoshida at suse.de>
    Tested-by: Kohei Yoshida <kohei.yoshida at suse.de>

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


More information about the Libreoffice-commits mailing list