sw/qa/extras/ooxmlimport/data/indentation.docx        |binary
 writerfilter/source/ooxml/OOXMLFastContextHandler.cxx |   16 +++++++++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

New commits:
commit becb244b4974609b0570e8db27d74e7e1179181c
Author: Adam Co <rattles2...@gmail.com>
Date:   Sun Apr 28 18:41:20 2013 +0300

    Fixing Indentation RTL bug
    
    Change-Id: Ie8c3d30cb28afb97d4ded4ac67241ed18ab9e50c
    Reviewed-on: https://gerrit.libreoffice.org/3651
    Reviewed-by: Tor Lillqvist <t...@iki.fi>
    Tested-by: Tor Lillqvist <t...@iki.fi>

diff --git a/sw/qa/extras/ooxmlimport/data/indentation.docx 
b/sw/qa/extras/ooxmlimport/data/indentation.docx
new file mode 100755
index 0000000..cf57aaf
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/indentation.docx 
differ
diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx 
b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
index 81ac271..33ab0e5 100644
--- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
+++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
@@ -52,6 +52,8 @@ static const sal_uInt8 cFieldStart = 0x13;
 static const sal_uInt8 cFieldSep = 0x14;
 static const sal_uInt8 cFieldEnd = 0x15;
 
+static const sal_uInt16 paragraphProperties_sprmPFBiDi = 0x2441;
+
 namespace writerfilter {
 namespace ooxml
 {
@@ -1596,7 +1598,19 @@ void 
OOXMLFastContextHandlerValue::setDefaultBooleanValue()
 
     if (mpValue.get() == NULL)
     {
-        OOXMLValue::Pointer_t pValue(new OOXMLBooleanValue(true));
+        // Value should not always be 'true'
+        //OOXMLValue::Pointer_t pValue(new OOXMLBooleanValue(true));
+        bool bSet = true;
+
+        // Paragraph properties are not always 'true' by default
+        // For example - RTL layout of paragraph is by default 'false' (look 
in this link for 'sprmPFBiDi')
+        // 
http://msdn.microsoft.com/en-us/library/dd923496%28v=office.12%29.aspx
+        if (getId() == paragraphProperties_sprmPFBiDi)
+        {
+                bSet = false;
+        }
+
+        OOXMLValue::Pointer_t pValue(new OOXMLBooleanValue(bSet));
         setValue(pValue);
     }
 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to