oox/source/docprop/ooxmldocpropimport.cxx       |    2 
 oox/source/drawingml/table/tablecell.cxx        |   55 ++++++++++++++----------
 sd/qa/unit/import-tests.cxx                     |   12 +++++
 sfx2/source/dialog/backingwindow.cxx            |    2 
 sw/source/core/text/EnhancedPDFExportHelper.cxx |    6 ++
 5 files changed, 52 insertions(+), 25 deletions(-)

New commits:
commit 23130ed6cfc497836dc710ca866d1e474442e608
Author: Caolán McNamara <caol...@redhat.com>
Date:   Fri Sep 26 11:16:18 2014 +0100

    Resolves: fdo#84261 unexpected exception -> clang builds terminate
    
    Change-Id: I545ed112b54fb3d81e67b0f42230811cd48de626
    (cherry picked from commit 4652700776666e385946c47235363c1120846d5d)
    Reviewed-on: https://gerrit.libreoffice.org/11653
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    Tested-by: Michael Stahl <mst...@redhat.com>

diff --git a/oox/source/docprop/ooxmldocpropimport.cxx 
b/oox/source/docprop/ooxmldocpropimport.cxx
index 4253498..8b60efa 100644
--- a/oox/source/docprop/ooxmldocpropimport.cxx
+++ b/oox/source/docprop/ooxmldocpropimport.cxx
@@ -63,7 +63,7 @@ Reference< XInterface > SAL_CALL 
DocumentPropertiesImport_createInstance( const
 
 namespace {
 
-Sequence< InputSource > lclGetRelatedStreams( const Reference< XStorage >& 
rxStorage, const OUString& rStreamType ) throw (RuntimeException)
+Sequence< InputSource > lclGetRelatedStreams( const Reference< XStorage >& 
rxStorage, const OUString& rStreamType ) throw (RuntimeException, 
css::io::IOException)
 {
     Reference< XRelationshipAccess > xRelation( rxStorage, UNO_QUERY_THROW );
     Reference< XHierarchicalStorageAccess > xHierarchy( rxStorage, 
UNO_QUERY_THROW );
commit cc10596c6830fa21a2e7d4d23e77b8ae80072d8e
Author: Matúš Kukan <matus.ku...@collabora.com>
Date:   Mon Sep 22 11:59:14 2014 +0200

    bnc#897769: OOXML import: Import border lines using reference too.
    
    Do not ignore 'lnRef' element.
    
    Also fix typo to apply 'seCell' properties to the right cell (southeast).
    
    Change-Id: Ia45f7016f358b70e6db06a232c569335ce9d7051
    (cherry picked from commit 18898e13fda25fe6dc85318dd0711355c7b2cc26)
    Reviewed-on: https://gerrit.libreoffice.org/11652
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/oox/source/drawingml/table/tablecell.cxx 
b/oox/source/drawingml/table/tablecell.cxx
index 2c1fa3c..1b33659 100644
--- a/oox/source/drawingml/table/tablecell.cxx
+++ b/oox/source/drawingml/table/tablecell.cxx
@@ -84,15 +84,26 @@ void applyLineAttributes( const ::oox::core::XmlFilterBase& 
rFilterBase,
     aPropSet.setProperty( nPropId, aBorderLine );
 }
 
-void applyBorder( TableStylePart& rTableStylePart, sal_Int32 nLineType, 
oox::drawingml::LineProperties& rLineProperties )
+void applyBorder( const ::oox::core::XmlFilterBase& rFilterBase, 
TableStylePart& rTableStylePart, sal_Int32 nLineType, 
oox::drawingml::LineProperties& rLineProperties )
 {
     std::map < sal_Int32, ::oox::drawingml::LinePropertiesPtr >& 
rPartLineBorders( rTableStylePart.getLineBorders() );
+    ::oox::drawingml::ShapeStyleRef& rLineStyleRef = 
rTableStylePart.getStyleRefs()[ nLineType ];
     std::map < sal_Int32, ::oox::drawingml::LinePropertiesPtr 
>::const_iterator aIter( rPartLineBorders.find( nLineType ) );
     if ( ( aIter != rPartLineBorders.end() ) && aIter->second.get() )
         rLineProperties.assignUsed( *aIter->second );
+    else if (rLineStyleRef.mnThemedIdx != 0)
+    {
+        if (const Theme* pTheme = rFilterBase.getCurrentTheme())
+        {
+            rLineProperties.assignUsed( 
*pTheme->getLineStyle(rLineStyleRef.mnThemedIdx) );
+            sal_Int32 nPhClr = rLineStyleRef.maPhClr.getColor( 
rFilterBase.getGraphicHelper() );
+            rLineProperties.maLineFill.maFillColor.setSrgbClr( nPhClr );
+        }
+    }
 }
 
-void applyTableStylePart( oox::drawingml::FillProperties& rFillProperties,
+void applyTableStylePart( const ::oox::core::XmlFilterBase& rFilterBase,
+                          oox::drawingml::FillProperties& rFillProperties,
                           TextCharacterProperties& aTextCharProps,
                           oox::drawingml::LineProperties& rLeftBorder,
                           oox::drawingml::LineProperties& rRightBorder,
@@ -106,12 +117,12 @@ void applyTableStylePart( oox::drawingml::FillProperties& 
rFillProperties,
     if ( rPartFillPropertiesPtr.get() )
         rFillProperties.assignUsed( *rPartFillPropertiesPtr );
 
-    applyBorder( rTableStylePart, XML_left, rLeftBorder );
-    applyBorder( rTableStylePart, XML_right, rRightBorder );
-    applyBorder( rTableStylePart, XML_top, rTopBorder );
-    applyBorder( rTableStylePart, XML_bottom, rBottomBorder );
-    applyBorder( rTableStylePart, XML_tl2br, rTopLeftToBottomRightBorder );
-    applyBorder( rTableStylePart, XML_tr2bl, rBottomLeftToTopRightBorder );
+    applyBorder( rFilterBase, rTableStylePart, XML_left, rLeftBorder );
+    applyBorder( rFilterBase, rTableStylePart, XML_right, rRightBorder );
+    applyBorder( rFilterBase, rTableStylePart, XML_top, rTopBorder );
+    applyBorder( rFilterBase, rTableStylePart, XML_bottom, rBottomBorder );
+    applyBorder( rFilterBase, rTableStylePart, XML_tl2br, 
rTopLeftToBottomRightBorder );
+    applyBorder( rFilterBase, rTableStylePart, XML_tr2bl, 
rBottomLeftToTopRightBorder );
 
     aTextCharProps.maLatinFont = rTableStylePart.getLatinFont();
     aTextCharProps.maAsianFont = rTableStylePart.getAsianFont();
@@ -171,7 +182,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
     oox::drawingml::LineProperties aLinePropertiesTopLeftToBottomRight;
     oox::drawingml::LineProperties aLinePropertiesBottomLeftToTopRight;
 
-    applyTableStylePart( aFillProperties, aTextStyleProps,
+    applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
         aLinePropertiesLeft,
         aLinePropertiesRight,
         aLinePropertiesTop,
@@ -182,7 +193,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
 
     if ( rProperties.isFirstRow() && ( nRow == 0 ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -193,7 +204,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
     }
     if ( rProperties.isLastRow() && ( nRow == nMaxRow ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -204,7 +215,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
     }
     if ( rProperties.isFirstCol() && ( nColumn == 0 ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -215,7 +226,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
     }
     if ( rProperties.isLastCol() && ( nColumn == nMaxColumn ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -236,7 +247,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
                 nBand++;
             if ( nBand & 1 )
             {
-                applyTableStylePart( aFillProperties, aTextStyleProps,
+                applyTableStylePart( rFilterBase, aFillProperties, 
aTextStyleProps,
                     aLinePropertiesLeft,
                     aLinePropertiesRight,
                     aLinePropertiesTop,
@@ -247,7 +258,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
             }
             else
             {
-                applyTableStylePart( aFillProperties, aTextStyleProps,
+                applyTableStylePart( rFilterBase, aFillProperties, 
aTextStyleProps,
                     aLinePropertiesLeft,
                     aLinePropertiesRight,
                     aLinePropertiesTop,
@@ -260,7 +271,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
     }
     if ( ( nRow == 0 ) && ( nColumn == 0 ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -271,7 +282,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
     }
     if ( ( nRow == nMaxRow ) && ( nColumn == 0 ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -282,7 +293,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
     }
     if ( ( nRow == 0 ) && ( nColumn == nMaxColumn ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -291,9 +302,9 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
             aLinePropertiesBottomLeftToTopRight,
             rTable.getNeCell() );
     }
-    if ( ( nRow == nMaxColumn ) && ( nColumn == nMaxColumn ) )
+    if ( ( nRow == nMaxRow ) && ( nColumn == nMaxColumn ) )
     {
-        applyTableStylePart( aFillProperties, aTextStyleProps,
+        applyTableStylePart( rFilterBase, aFillProperties, aTextStyleProps,
             aLinePropertiesLeft,
             aLinePropertiesRight,
             aLinePropertiesTop,
@@ -314,7 +325,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
                 nBand++;
             if ( nBand & 1 )
             {
-                applyTableStylePart( aFillProperties, aTextStyleProps,
+                applyTableStylePart( rFilterBase, aFillProperties, 
aTextStyleProps,
                     aLinePropertiesLeft,
                     aLinePropertiesRight,
                     aLinePropertiesTop,
@@ -325,7 +336,7 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, ::oo
             }
             else
             {
-                applyTableStylePart( aFillProperties, aTextStyleProps,
+                applyTableStylePart( rFilterBase, aFillProperties, 
aTextStyleProps,
                     aLinePropertiesLeft,
                     aLinePropertiesRight,
                     aLinePropertiesTop,
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index ecd29b9..f9fc0dd 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -49,6 +49,7 @@
 #include <com/sun/star/chart2/data/XLabeledDataSequence.hpp>
 #include <com/sun/star/chart2/data/XDataSequence.hpp>
 #include <com/sun/star/chart2/data/XNumericalDataSequence.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 
 #include <config_features.h>
 
@@ -1024,6 +1025,7 @@ void SdFiltersTest::testBnc480256()
     uno::Reference< table::XCellRange > xTable;
     uno::Reference< beans::XPropertySet > xCell;
     sal_Int32 nColor;
+    table::BorderLine2 aBorderLine;
 
     pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pPage->GetObj(0));
     CPPUNIT_ASSERT( pTableObj );
@@ -1032,10 +1034,14 @@ void SdFiltersTest::testBnc480256()
     xCell.set(xTable->getCellByPosition(0, 0), uno::UNO_QUERY_THROW);
     xCell->getPropertyValue("FillColor") >>= nColor;
     CPPUNIT_ASSERT_EQUAL(sal_Int32(10208238), nColor);
+    xCell->getPropertyValue("LeftBorder") >>= aBorderLine;
+    CPPUNIT_ASSERT_EQUAL(util::Color(5609427), aBorderLine.Color);
 
     xCell.set(xTable->getCellByPosition(0, 1), uno::UNO_QUERY_THROW);
     xCell->getPropertyValue("FillColor") >>= nColor;
     CPPUNIT_ASSERT_EQUAL(sal_Int32(13032959), nColor);
+    xCell->getPropertyValue("TopBorder") >>= aBorderLine;
+    CPPUNIT_ASSERT_EQUAL(util::Color(5609427), aBorderLine.Color);
 
     pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pPage->GetObj(1));
     CPPUNIT_ASSERT( pTableObj );
@@ -1044,11 +1050,17 @@ void SdFiltersTest::testBnc480256()
     xCell.set(xTable->getCellByPosition(0, 0), uno::UNO_QUERY_THROW);
     xCell->getPropertyValue("FillColor") >>= nColor;
     CPPUNIT_ASSERT_EQUAL(sal_Int32(7056614), nColor);
+    xCell->getPropertyValue("LeftBorder") >>= aBorderLine;
+    CPPUNIT_ASSERT_EQUAL(util::Color(12505062), aBorderLine.Color);
 
     xCell.set(xTable->getCellByPosition(0, 1), uno::UNO_QUERY_THROW);
     xCell->getPropertyValue("FillColor") >>= nColor;
     CPPUNIT_ASSERT_EQUAL(sal_Int32(4626400), nColor);
 
+    xCell.set(xTable->getCellByPosition(1, 0), uno::UNO_QUERY_THROW);
+    xCell->getPropertyValue("BottomBorder") >>= aBorderLine;
+    CPPUNIT_ASSERT_EQUAL(util::Color(0), aBorderLine.Color);
+
     xDocShRef->DoClose();
 }
 
commit 4c7fa8cc74304a584a434b2fa37635fd3178bcc6
Author: Yousuf Philips <philip...@hotmail.com>
Date:   Fri Sep 26 08:20:39 2014 +0400

    fdo#82043: Instead of the bold font, use a higher multiplifier (4.3 
backport)
    
    Change-Id: I835e5c645ef52f23254178c782f2d484c5c0d20f
    Reviewed-on: https://gerrit.libreoffice.org/11651
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sfx2/source/dialog/backingwindow.cxx 
b/sfx2/source/dialog/backingwindow.cxx
index 764337a..d2b52bd 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -60,7 +60,7 @@ const char TEMPLATE_URL[] =       "slot:5500";
 const char OPEN_URL[] =           ".uno:Open";
 const char SERVICENAME_CFGREADACCESS[] = 
"com.sun.star.configuration.ConfigurationAccess";
 
-float fMultiplier = 1.2;
+float fMultiplier = 1.4;
 const Color aButtonsBackground(114, 168, 84); // TDF green
 const Color aButtonsText(COL_WHITE);
 
commit fccf9174fde033135a54a5972e37da8f9ba366b2
Author: Julien Nabet <serval2...@yahoo.fr>
Date:   Wed Sep 24 21:26:59 2014 +0200

    Resolves fdo#84283: Export to PDF with footnotes in tables crash
    
    Don't crash when there's no rectangles
    
    Change-Id: I7e713025cacd449f708176254e05d40c0929577f
    Reviewed-on: https://gerrit.libreoffice.org/11634
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/11645

diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx 
b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index 6afa51d..0704b91 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -1933,11 +1933,15 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
             SwRects aTmp;
             aTmp.insert( aTmp.begin(), mrSh.SwCrsrShell::_GetCrsr()->begin(), 
mrSh.SwCrsrShell::_GetCrsr()->end() );
             OSL_ENSURE( !aTmp.empty(), "Enhanced pdf export - rectangles are 
missing" );
-            const SwRect aLinkRect( aTmp[ 0 ] );
 
             mrSh._GetCrsr()->RestoreSavePos();
             mrSh.SwCrsrShell::ClearMark();
 
+            if (aTmp.empty())
+                continue;
+
+            const SwRect aLinkRect( aTmp[ 0 ] );
+
             // Goto footnote text:
             if ( mrSh.GotoFtnTxt() )
             {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to