[Libreoffice-commits] core.git: vcl/quartz

galbarnissan gal.bar.nissan at cloudon.com
Wed Dec 3 05:09:44 PST 2014


 vcl/quartz/ctlayout.cxx |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

New commits:
commit 00fda95ae461120d515d7cbdcadf8834b6ff12fe
Author: galbarnissan <gal.bar.nissan at cloudon.com>
Date:   Wed Dec 3 11:55:31 2014 +0200

    fdo#85806: Hebrew and Arabic is not working on MAC
    
    Change-Id: Id4476a041eb539d0b9c1227070289d34a939c6f6
    Reviewed-on: https://gerrit.libreoffice.org/13288
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
    Tested-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/vcl/quartz/ctlayout.cxx b/vcl/quartz/ctlayout.cxx
index 759b3f5..5803976 100644
--- a/vcl/quartz/ctlayout.cxx
+++ b/vcl/quartz/ctlayout.cxx
@@ -217,7 +217,7 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs )
 
     DeviceCoordinate nPixelWidth = 0;
 
-    if(rArgs.mpDXArray)
+    if(rArgs.mpDXArray && !(rArgs.mnFlags & SAL_LAYOUT_BIDI_RTL) )
     {
         nPixelWidth = rArgs.mpDXArray[ mnCharCount - 1 ];
         if( nPixelWidth <= 0)
@@ -231,18 +231,18 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs )
             mfTrailingSpaceWidth = nFullPixelWidth - nPixelWidth;
             if( nPixelWidth <= 0)
                 return;
-            // in RTL-layouts trailing spaces are leftmost
-            // TODO: use BiDi-algorithm to thoroughly check this assumption
-            if( rArgs.mnFlags & SAL_LAYOUT_BIDI_RTL)
-            {
-                mfBaseAdv = mfTrailingSpaceWidth;
-            }
         }
         mfCachedWidth = nPixelWidth;
     }
     else
     {
         nPixelWidth = rArgs.mnLayoutWidth;
+
+        if( nPixelWidth <= 0 && rArgs.mnFlags & SAL_LAYOUT_BIDI_RTL)
+        {
+            nPixelWidth = GetTextWidth();
+        }
+
         if( nPixelWidth <= 0)
             return;
 


More information about the Libreoffice-commits mailing list