[Libreoffice-commits] .: Branch 'libreoffice-3-4' - 19 commits - desktop/unx

Petr Mladek pmladek at kemper.freedesktop.org
Wed Apr 6 05:11:47 PDT 2011


 desktop/unx/source/splashx.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit b3c02d6a7fe8e2b7b259286af8a4481c5164a134
Merge: 8b3e4b5... 3c7ca79...
Author: Petr Mladek <pmladek at suse.cz>
Date:   Wed Apr 6 14:07:52 2011 +0200

    Merge branch 'libreoffice-3-4' of ssh://git.freedesktop.org/git/libreoffice/libs-core into libreoffice-3-4

commit 8b3e4b5c87991c02470111640a720da0549c4a17
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue Apr 5 21:34:47 2011 +0200

    removed mess added during the merge from libreoffice-3-3

diff --git a/editeng/inc/editeng/boxitem.hxx b/editeng/inc/editeng/boxitem.hxx
index 7fa52f2..4fc8421 100644
--- a/editeng/inc/editeng/boxitem.hxx
+++ b/editeng/inc/editeng/boxitem.hxx
@@ -109,7 +109,6 @@ public:
     static com::sun::star::table::BorderLine2 SvxLineToLine( const editeng::SvxBorderLine* pLine, sal_Bool bConvert );
     static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, editeng::SvxBorderLine& rSvxLine, sal_Bool bConvert);
     static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, editeng::SvxBorderLine& rSvxLine, sal_Bool bConvert);
-    static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert);
 };
 
 inline void SvxBoxItem::SetDistance( sal_uInt16 nNew )
diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx
index 9a519fb..bda2be7 100644
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@ -1743,31 +1743,17 @@ lcl_lineToSvxLine(const table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_B
 
 }
 
-namespace
-{
-
-sal_Bool
-lcl_lineToSvxLine(const table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
+// -----------------------------------------------------------------------
+sal_Bool SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
 {
     return lcl_lineToSvxLine(rLine, rSvxLine, bConvert, sal_True);
 }
-    return bRet;
-}
 
 sal_Bool
 SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
-// -----------------------------------------------------------------------
-sal_Bool SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
 {
     SvxBorderStyle nStyle = NO_STYLE;
     switch ( rLine.LineStyle )
-
-sal_Bool
-SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
-{
-    const bool bRet(lcl_lineToSvxLine(rLine, rSvxLine, bConvert));
-
-    switch ( rLine.LineStyle )
     {
         default:
         case table::BorderLineStyle::SOLID:
@@ -1820,6 +1806,7 @@ SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, Svx
     {
         rSvxLine.SetWidth( bConvert? MM100_TO_TWIP_UNSIGNED( rLine.LineWidth ) : rLine.LineWidth );
         bGuessWidth = sal_False;
+    }
 
     return lcl_lineToSvxLine(rLine, rSvxLine, bConvert, bGuessWidth);
 }
@@ -1851,46 +1838,6 @@ lcl_extractBorderLine(const uno::Any& rAny, table::BorderLine2& rLine)
 
 template<typename Item>
 bool
-lcl_setLine(const uno::Any& rAny, Item& rItem, USHORT nLine, const bool bConvert)
-{
-    bool bDone = false;
-    table::BorderLine2 aBorderLine;
-    if (lcl_extractBorderLine(rAny, aBorderLine))
-    {
-        SvxBorderLine aLine;
-        bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-        rItem.SetLine( bSet ? &aLine : NULL, nLine);
-        bDone = true;
-    }
-    return bDone;
-}
-
-}
-
-{
-
-bool
-lcl_extractBorderLine(const uno::Any& rAny, table::BorderLine2& rLine)
-{
-    if (rAny >>= rLine)
-        return true;
-
-    table::BorderLine aBorderLine;
-    if (rAny >>= aBorderLine)
-    {
-        rLine.Color = aBorderLine.Color;
-        rLine.InnerLineWidth = aBorderLine.InnerLineWidth;
-        rLine.OuterLineWidth = aBorderLine.OuterLineWidth;
-        rLine.LineDistance = aBorderLine.LineDistance;
-        rLine.LineStyle = table::BorderLineStyle::SOLID;
-        return true;
-    }
-
-    return false;
-}
-
-template<typename Item>
-bool
 lcl_setLine(const uno::Any& rAny, Item& rItem, sal_uInt16 nLine, const bool bConvert)
 {
     bool bDone = false;
commit 33b12b721ecacdc16869cfd78db05f6876137f44
Merge: 9e1bffb... 2833c4c...
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue Apr 5 20:06:07 2011 +0200

    Merge remote-tracking branch 'origin/libreoffice-3-3' into libreoffice-3-4
    
    Conflicts:
    	basic/source/runtime/dllmgr.cxx
    	drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
    	editeng/inc/editeng/boxitem.hxx
    	editeng/source/items/frmitems.cxx
    	sfx2/workben/custompanel/makefile.mk

diff --cc desktop/unx/source/splashx.c
index d7d8b1d,1c6ab45..711671f
mode 100755,100644..100755
--- a/desktop/unx/source/splashx.c
+++ b/desktop/unx/source/splashx.c
diff --cc editeng/inc/editeng/boxitem.hxx
index 4fc8421,35fd036..7fa52f2
--- a/editeng/inc/editeng/boxitem.hxx
+++ b/editeng/inc/editeng/boxitem.hxx
@@@ -87,31 -87,32 +87,32 @@@ public
      virtual bool             ScaleMetrics( long nMult, long nDiv );
      virtual	bool             HasMetrics() const;
  
 -    const	SvxBorderLine* GetTop()    const { return pTop; }
 -    const	SvxBorderLine* GetBottom() const { return pBottom; }
 -    const	SvxBorderLine* GetLeft()   const { return pLeft; }
 -    const	SvxBorderLine* GetRight()  const { return pRight; }
 +    const	editeng::SvxBorderLine* GetTop()    const { return pTop; }
 +    const	editeng::SvxBorderLine* GetBottom() const { return pBottom; }
 +    const	editeng::SvxBorderLine* GetLeft()   const { return pLeft; }
 +    const	editeng::SvxBorderLine* GetRight()  const { return pRight; }
  
 -    const	SvxBorderLine* GetLine( USHORT nLine ) const;
 +    const	editeng::SvxBorderLine* GetLine( sal_uInt16 nLine ) const;
  
 -        //Die Pointer werden kopiert!
 -    void	SetLine( const SvxBorderLine* pNew, USHORT nLine );
 +        //The Pointers are being copied!
 +    void	SetLine( const editeng::SvxBorderLine* pNew, sal_uInt16 nLine );
  
 -    USHORT	GetDistance( USHORT nLine ) const;
 -    USHORT	GetDistance() const;
 +    sal_uInt16	GetDistance( sal_uInt16 nLine ) const;
 +    sal_uInt16	GetDistance() const;
  
 -    void 	SetDistance( USHORT nNew, USHORT nLine );
 -    inline void SetDistance( USHORT nNew );
 +    void 	SetDistance( sal_uInt16 nNew, sal_uInt16 nLine );
 +    inline void SetDistance( sal_uInt16 nNew );
  
 -        //Breite der Linien plus Zwischenraum plus Abstand nach innen.
 -        //JP 09.06.99: bIgnoreLine = TRUE -> Distance auch returnen, wenn
 -        //							keine Line gesetzt ist
 -    USHORT 	CalcLineSpace( USHORT nLine, BOOL bIgnoreLine = FALSE ) const;
 -    static com::sun::star::table::BorderLine2 SvxLineToLine( const SvxBorderLine* pLine, sal_Bool bConvert );
 -    static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert);
 +        // Line width plus Space plus inward distance
 +        //bIgnoreLine = TRUE -> Also return distance, when no Line is set
 +    sal_uInt16 	CalcLineSpace( sal_uInt16 nLine, sal_Bool bIgnoreLine = sal_False ) const;
 +    static com::sun::star::table::BorderLine2 SvxLineToLine( const editeng::SvxBorderLine* pLine, sal_Bool bConvert );
 +    static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, editeng::SvxBorderLine& rSvxLine, sal_Bool bConvert);
 +    static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, editeng::SvxBorderLine& rSvxLine, sal_Bool bConvert);
+     static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert);
  };
  
 -inline void SvxBoxItem::SetDistance( USHORT nNew )
 +inline void SvxBoxItem::SetDistance( sal_uInt16 nNew )
  {
      nTopDist = nBottomDist = nLeftDist = nRightDist = nNew;
  }
diff --cc editeng/source/items/frmitems.cxx
index bda2be7,ce0f053..9a519fb
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@@ -1743,72 -1955,32 +1743,85 @@@ lcl_lineToSvxLine(const table::BorderLi
  
  }
  
- // -----------------------------------------------------------------------
- sal_Bool SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
++namespace
++{
++
++sal_Bool
++lcl_lineToSvxLine(const table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
 +{
 +    return lcl_lineToSvxLine(rLine, rSvxLine, bConvert, sal_True);
 +}
++    return bRet;
++}
 +
 +sal_Bool
 +SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
+ // -----------------------------------------------------------------------
+ sal_Bool SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
  {
 -    return lcl_lineToSvxLine(rLine, rSvxLine, bConvert);
 -}
 +    SvxBorderStyle nStyle = NO_STYLE;
 +    switch ( rLine.LineStyle )
+ 
+ sal_Bool
+ SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
+ {
+     const bool bRet(lcl_lineToSvxLine(rLine, rSvxLine, bConvert));
+ 
+     switch ( rLine.LineStyle )
      {
          default:
          case table::BorderLineStyle::SOLID:
 -            rSvxLine.SetStyle( SOLID );
 +            nStyle = SOLID;
              break;
          case table::BorderLineStyle::DOTTED:
 -            rSvxLine.SetStyle( DOTTED );
 +            nStyle = DOTTED;
              break;
          case table::BorderLineStyle::DASHED:
 -            rSvxLine.SetStyle( DASHED );
 +            nStyle = DASHED;
 +            break;
 +        case table::BorderLineStyle::DOUBLE:
 +            nStyle = DOUBLE;
 +            break;
 +        case table::BorderLineStyle::THINTHICK_SMALLGAP:
 +            nStyle = THINTHICK_SMALLGAP;
 +            break;
 +        case table::BorderLineStyle::THINTHICK_MEDIUMGAP:
 +            nStyle = THINTHICK_MEDIUMGAP;
 +            break;
 +        case table::BorderLineStyle::THINTHICK_LARGEGAP:
 +            nStyle = THINTHICK_LARGEGAP;
 +            break;
 +        case table::BorderLineStyle::THICKTHIN_SMALLGAP:
 +            nStyle = THICKTHIN_SMALLGAP;
 +            break;
 +        case table::BorderLineStyle::THICKTHIN_MEDIUMGAP:
 +            nStyle = THICKTHIN_MEDIUMGAP;
 +            break;
 +        case table::BorderLineStyle::THICKTHIN_LARGEGAP:
 +            nStyle = THICKTHIN_LARGEGAP;
 +            break;
 +        case table::BorderLineStyle::EMBOSSED:
 +            nStyle = EMBOSSED;
 +            break;
 +        case table::BorderLineStyle::ENGRAVED:
 +            nStyle = ENGRAVED;
 +            break;
 +        case table::BorderLineStyle::OUTSET:
 +            nStyle = OUTSET;
 +            break;
 +        case table::BorderLineStyle::INSET:
 +            nStyle = INSET;
              break;
      }
 +    rSvxLine.SetStyle( nStyle );
 +    
 +    sal_Bool bGuessWidth = sal_True; 
 +    if ( rLine.LineWidth )
 +    {
 +        rSvxLine.SetWidth( bConvert? MM100_TO_TWIP_UNSIGNED( rLine.LineWidth ) : rLine.LineWidth );
 +        bGuessWidth = sal_False;
-     }
  
 -    return bRet;
 +    return lcl_lineToSvxLine(rLine, rSvxLine, bConvert, bGuessWidth);
  }
  
  // -----------------------------------------------------------------------
@@@ -1838,23 -2010,23 +1851,63 @@@ lcl_extractBorderLine(const uno::Any& r
  
  template<typename Item>
  bool
+ lcl_setLine(const uno::Any& rAny, Item& rItem, USHORT nLine, const bool bConvert)
+ {
+     bool bDone = false;
+     table::BorderLine2 aBorderLine;
+     if (lcl_extractBorderLine(rAny, aBorderLine))
+     {
+         SvxBorderLine aLine;
+         bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
+         rItem.SetLine( bSet ? &aLine : NULL, nLine);
+         bDone = true;
+     }
+     return bDone;
+ }
+ 
+ }
+ 
 -bool SvxBoxItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
++{
++
++bool
++lcl_extractBorderLine(const uno::Any& rAny, table::BorderLine2& rLine)
++{
++    if (rAny >>= rLine)
++        return true;
++
++    table::BorderLine aBorderLine;
++    if (rAny >>= aBorderLine)
++    {
++        rLine.Color = aBorderLine.Color;
++        rLine.InnerLineWidth = aBorderLine.InnerLineWidth;
++        rLine.OuterLineWidth = aBorderLine.OuterLineWidth;
++        rLine.LineDistance = aBorderLine.LineDistance;
++        rLine.LineStyle = table::BorderLineStyle::SOLID;
++        return true;
++    }
++
++    return false;
++}
++
++template<typename Item>
++bool
 +lcl_setLine(const uno::Any& rAny, Item& rItem, sal_uInt16 nLine, const bool bConvert)
 +{
 +    bool bDone = false;
 +    table::BorderLine2 aBorderLine;
 +    if (lcl_extractBorderLine(rAny, aBorderLine))
 +    {
 +        SvxBorderLine aLine;
 +        bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
 +        rItem.SetLine( bSet ? &aLine : NULL, nLine);
 +        bDone = true;
 +    }
 +    return bDone;
 +}
 +
 +}
 +
 +bool SvxBoxItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
  {
      bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
      sal_uInt16 nLine = BOX_LINE_TOP;
commit 2833c4cb4dc6c6def3d3cb3b134f22eda3a87207
Author: Michael Meeks <michael.meeks at novell.com>
Date:   Fri Apr 1 15:55:42 2011 +0100

    fix evolution local addressbook integration, which uses a new local: uri

diff --git a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
index c6dc8bb..d868b2a 100644
--- a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
@@ -1147,19 +1147,20 @@ Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTables(
 
         switch (m_pConnection->getSDBCAddressType()) {
         case SDBCAddress::EVO_GWISE:
-                    if (0==strncmp( "groupwise://", p, 11 ))
+                    if ( !strncmp( "groupwise://", p, 11 ))
                         break;
-                    else 
+                    else
                         continue;
         case SDBCAddress::EVO_LOCAL:
-                    if (0==strncmp( "file://", p, 6 ))
+                    if ( !strncmp( "file://", p, 6 ) ||
+                         !strncmp( "local://", p, 6 ) )
                         break;
                     else
                         continue;
-        case SDBCAddress::EVO_LDAP: 
-                    if (0==strncmp( "ldap://", p, 6 ))
+        case SDBCAddress::EVO_LDAP:
+                    if ( !strncmp( "ldap://", p, 6 ))
                         break;
-                    else 
+                    else
                         continue;
         case SDBCAddress::Unknown:
             break;
diff --git a/connectivity/source/drivers/evoab2/NResultSet.cxx b/connectivity/source/drivers/evoab2/NResultSet.cxx
index 4bea08a..e16e459 100644
--- a/connectivity/source/drivers/evoab2/NResultSet.cxx
+++ b/connectivity/source/drivers/evoab2/NResultSet.cxx
@@ -182,7 +182,8 @@ static bool isLDAP( EBook *pBook )
 
 static bool isLocal( EBook *pBook )
 {
-    return pBook && !strncmp( "file://", e_book_get_uri( pBook ), 6 );
+    return pBook && ( !strncmp( "file://", e_book_get_uri( pBook ), 6 ) ||
+                      !strncmp( "local:", e_book_get_uri( pBook ), 6 ) );
 }
 
 static bool isAuthRequired( EBook *pBook )
commit 71bf17ecbaa46780b112b6307aab879a088910fe
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Tue Mar 29 18:59:05 2011 +0300

    Don't pass potentially bogus file: URIs to libxml2
    
    libxml2 doesn't understand our syntax for file: URIs in the case of
    UNC paths. Fixes fdo#33970. Picked from OOo's fix for their issue
    i#109096.
    
    Signed-off-by: David Tardon <dtardon at redhat.com>

diff --git a/desktop/source/deployment/registry/dp_backenddb.cxx b/desktop/source/deployment/registry/dp_backenddb.cxx
index 905ff6e..730e848 100644
--- a/desktop/source/deployment/registry/dp_backenddb.cxx
+++ b/desktop/source/deployment/registry/dp_backenddb.cxx
@@ -92,7 +92,10 @@ css::uno::Reference<css::xml::dom::XDocument> BackendDb::getDocument()
         ::osl::File::RC err = ::osl::DirectoryItem::get(m_urlDb, item);
         if (err == ::osl::File::E_None)
         {
-            m_doc = xDocBuilder->parseURI(m_urlDb);
+            ::ucbhelper::Content descContent(
+                m_urlDb, css::uno::Reference<css::ucb::XCommandEnvironment>());
+            Reference<css::io::XInputStream> xIn = descContent.openStream();
+            m_doc = xDocBuilder->parse(xIn);
         }
         else if (err == ::osl::File::E_NOENT)
         {
commit 8424af3e1b69f00f442a5a49a964813ede2f09e7
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Fri Mar 18 13:18:58 2011 +0100

    use full path for kdefilepicker helper binary (bnc#31109)
    
    ack by pmladek

diff --git a/fpicker/source/unx/kde_unx/UnxFilePicker.cxx b/fpicker/source/unx/kde_unx/UnxFilePicker.cxx
index 21e32dc..c38ffce 100644
--- a/fpicker/source/unx/kde_unx/UnxFilePicker.cxx
+++ b/fpicker/source/unx/kde_unx/UnxFilePicker.cxx
@@ -38,8 +38,10 @@
 
 #include <cppuhelper/interfacecontainer.h>
 #include <osl/diagnose.h>
+#include <osl/file.hxx>
 #include <rtl/ustring.hxx>
 #include <rtl/ustrbuf.hxx>
+#include <rtl/bootstrap.hxx>
 #include <tools/resmgr.hxx>
 
 #include <svtools/svtools.hrc>
@@ -715,7 +717,11 @@ void UnxFilePicker::initFilePicker()
 #endif
 
         // The executable name
-        const char *pFname = "kdefilepicker";
+        rtl::OUString helperurl( RTL_CONSTASCII_USTRINGPARAM("${ORIGIN}/kdefilepicker"));
+        rtl::Bootstrap::expandMacros( helperurl );
+        rtl::OUString helperpath;
+        osl::FileBase::getSystemPathFromFileURL( helperurl, helperpath );
+        rtl::OString helper( rtl::OUStringToOString( helperpath, osl_getThreadTextEncoding()));
 
         // ID of the main window
         const int nIdLen = 20;
@@ -736,7 +742,7 @@ void UnxFilePicker::initFilePicker()
         }
 
         // Execute the fpicker implementation
-        execlp( pFname, pFname, "--winid", pWinId, NULL );
+        execlp( helper.getStr(), helper.getStr(), "--winid", pWinId, NULL );
 
         // Error, finish the child
         exit( -1 );
commit f6b918cb27f78afb22eb8759775bdea400d98f22
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue Mar 8 15:31:12 2011 +0100

    Version 3.3.2.1, tag libreoffice-3.3.2.1 (3.3.2-rc1)
commit 5c2ed6488e7619cb2fd2a1e996c46a81760822a9
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date:   Mon Mar 7 16:34:14 2011 +0100

    fdo#34699 some pythonsamples not visible on Mac OS X
    
    node.expr is a Node of type "Tuple", not a builtin tuple datatype, thus
    python 2.3 did fail with TypeError: iteration over non-sequence
    (cherry picked from commit bef88b2ebf98faacedd911944ba20fe963498396)
    
    Signed-off-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/scripting/source/pyprov/pythonscript.py b/scripting/source/pyprov/pythonscript.py
index 88e0a9e..2ca46b0 100644
--- a/scripting/source/pyprov/pythonscript.py
+++ b/scripting/source/pyprov/pythonscript.py
@@ -361,7 +361,7 @@ class ProviderContext:
             elif node.__class__.__name__ == 'Assign':
                 for assignee in node.nodes:
                     if assignee.name == 'g_exportedScripts':
-                        for item in node.expr:
+                        for item in node.expr.nodes:
                             if item.__class__.__name__ == 'Name':
                                 g_exportedScripts.append(item.name)
                         return g_exportedScripts
commit ee1530a61d62054e98dda4be619d780d20aa7efb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Dec 13 12:48:47 2010 +0000

    valgrind: don't leave an evil thread running after main is completed

diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index e6cfb10..44c2d32 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -595,7 +595,10 @@ Components::Components(
     RTL_LOGFILE_TRACE_AUTHOR("configmgr", "sb", "end parsing");
 }
 
-Components::~Components() {}
+Components::~Components()
+{
+    flushModifications();
+}
 
 void Components::parseFileLeniently(
     FileParser * parseFile, rtl::OUString const & url, int layer, Data & data,
commit 6cf25e3d1b7eb823e2193befc816adcbb682a13b
Author: Petr Mladek <pmladek at suse.cz>
Date:   Fri Mar 4 17:22:12 2011 +0100

    fix custom-tool-panel build dependencies
    
    Signed-off-by: Kohei Yoshida <kyoshida at novell.com>

diff --git a/sfx2/workben/custompanel/makefile.mk b/sfx2/workben/custompanel/makefile.mk
index 1eb20ce..20780a0 100644
--- a/sfx2/workben/custompanel/makefile.mk
+++ b/sfx2/workben/custompanel/makefile.mk
@@ -91,7 +91,7 @@ COMPONENT_IMAGES= \
     $(EXTENSIONDIR)/panel.png
 
 # ........ dependencies for packaging the extension ........
-EXTENSION_PACKDEPS=makefile.mk $(COMPONENT_IMAGES)
+EXTENSION_PACKDEPS=makefile.mk $(COMPONENT_XCU) $(COMPONENT_LIBRARIES) $(COMPONENT_IMAGES)
 
 # --- Targets ------------------------------------------------------
 .INCLUDE : extension_pre.mk
commit 6153334a2bb4008541345917eec86236eaf27e3f
Author: Andras Timar <timar at fsf.hu>
Date:   Wed Feb 23 22:31:04 2011 +0100

    l10n: 'fold' from coreutils does not work well for some languages

diff --git a/readlicense_oo/util/makefile.pmk b/readlicense_oo/util/makefile.pmk
index 29b51d5..3e9a22d 100755
--- a/readlicense_oo/util/makefile.pmk
+++ b/readlicense_oo/util/makefile.pmk
@@ -79,8 +79,6 @@ $(SYSTEXTDOCS) : $(MISC)$/readme_text.xsl
     --stringparam os1 $(OS)	--stringparam gui1 $(GUI)	--stringparam com1  $(COM) \
     --stringparam cp1 $(CPUNAME)	--stringparam type text	--stringparam lang1 $(@:b:s/readme_//:s/README_//) \
     $<	$(MERGEDXRM)
-    fold -s -w 75 < $@ > $@.new
-    mv $@.new $@
 
 .IF "$(GUI)"=="WNT"
     $(PERL) -pi -e 's/\n/\r\n/' $@
commit 220ca4436d36d4ef4b40b13f38c3863603bbae2d
Author: Radek Doulik <rodo at novell.com>
Date:   Tue Feb 15 17:30:45 2011 +0100

    restrict metafile decomposition (fixes n#650049)
    
     - do not use metafile decomposition on metafiles which need
       canvas renderer (right now, these containing EMF+)

diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index dfa3983..ff8d3f8 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -229,8 +229,10 @@ namespace drawinglayer
                         mpOutputDevice->SetAntialiasing(nOldAntiAliase | ANTIALIASING_PIXELSNAPHAIRLINE);
                     }
 
+                    const primitive2d::MetafilePrimitive2D& rMetafilePrimitive( static_cast< const primitive2d::MetafilePrimitive2D& >(rCandidate) );
+
                     static bool bTestMetaFilePrimitiveDecomposition(true);
-                    if(bTestMetaFilePrimitiveDecomposition)
+                    if( bTestMetaFilePrimitiveDecomposition && !rMetafilePrimitive.getMetaFile().GetUseCanvas() )
                     {
                         // use new Metafile decomposition
                         process(rCandidate.get2DDecomposition(getViewInformation2D()));
@@ -238,7 +240,7 @@ namespace drawinglayer
                     else
                     {
                         // direct draw of MetaFile
-                        RenderMetafilePrimitive2D(static_cast< const primitive2d::MetafilePrimitive2D& >(rCandidate));
+                        RenderMetafilePrimitive2D( rMetafilePrimitive );
                     }
                     
                     if(bForceLineSnap)
commit 27119e72dd2ee8125492957aebaa18521327c587
Author: Cédric Bosdonnat <cedricbosdo at openoffice.org>
Date:   Tue Feb 15 11:05:57 2011 +0100

    fdo#34226: Fixed BorderLine(2) convertion to SvxBorderLine
    
    Signed-off-by: Michael Meeks <michael.meeks at novell.com>
    Signed-off-by: Caolán McNamara <caolanm at redhat.com>
    Signed-off-by: David Tardon <dtardon at redhat.com>

diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx
index 9fc36a7..ce0f053 100644
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@ -2012,16 +2012,16 @@ template<typename Item>
 bool
 lcl_setLine(const uno::Any& rAny, Item& rItem, USHORT nLine, const bool bConvert)
 {
-    bool bSet(false);
+    bool bDone = false;
     table::BorderLine2 aBorderLine;
     if (lcl_extractBorderLine(rAny, aBorderLine))
     {
         SvxBorderLine aLine;
-        bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-        if (bSet)
-            rItem.SetLine(&aLine, nLine);
+        bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
+        rItem.SetLine( bSet ? &aLine : NULL, nLine);
+        bDone = true;
     }
-    return bSet;
+    return bDone;
 }
 
 }
commit 15fd374b68552cab7bf0c9fac581bb03d52e5f5b
Author: Petr Mladek <pmladek at suse.cz>
Date:   Tue Feb 15 14:17:24 2011 +0100

    crashing oosplash and malformed picture (bnc#652562)
    
    it was visible only on screens that did not use 32bpp
    
    Signed-off-by: Thorsten Behrens <thb at documentfoundation.org>
    Signed-off-by: Michael Meeks <michael.meeks at novell.com>
    Signed-off-by: Jan Holesovsky <kendy at suse.cz>

diff --git a/desktop/unx/source/splashx.c b/desktop/unx/source/splashx.c
index 6e7088b..1c6ab45 100644
--- a/desktop/unx/source/splashx.c
+++ b/desktop/unx/source/splashx.c
@@ -333,6 +333,7 @@ static void create_pixmap()
             int x, y; \
             for ( y = 0; y < height; ++y ) \
             { \
+                out = data + y * bytes_per_line; \
                 unsigned long red_delta = 0, green_delta = 0, blue_delta = 0; \
                 color_t *in = (color_t *)bitmap_rows[y]; \
                 for ( x = 0; x < width; ++x, ++in  ) \
@@ -376,7 +377,7 @@ static void create_pixmap()
         {
             if ( machine_byte_order == byte_order && byte_order == LSBFirst )
                 COPY_IN_OUT( 3, *( (color_t *)out ) = *( (color_t *)( &pixel ) ); out += 3; )
-            if ( machine_byte_order == byte_order && byte_order == MSBFirst )
+            else if ( machine_byte_order == byte_order && byte_order == MSBFirst )
                 COPY_IN_OUT( 3, uint32_t tmp = pixel;
                              *( (uint8_t *)out     ) = *( (uint8_t *)(&tmp) + 1 );
                              *( (uint8_t *)out + 1 ) = *( (uint8_t *)(&tmp) + 2 );
commit 6f0888190f4d1ce0a101eaf9f9642e61c0376999
Author: Noel Power <noel.power at novell.com>
Date:   Tue Feb 15 11:36:43 2011 +0000

    ported fix from DEV300m98 ( fixes i#115716 & fdo#33964 )
    
    based off commit id db2c7179427e113d6decc3be5dc8a2f3cac3da17
    
    Signed-off-by: Michael Meeks <michael.meeks at novell.com>

diff --git a/basic/source/runtime/dllmgr.cxx b/basic/source/runtime/dllmgr.cxx
index 2afaa35..1021bcc 100644
--- a/basic/source/runtime/dllmgr.cxx
+++ b/basic/source/runtime/dllmgr.cxx
@@ -207,7 +207,7 @@ SbError marshalString(
         return e;
     }
     std::vector< char > * blob = data.newBlob();
-    blob->insert(blob->begin(), str.getStr(), str.getStr() + str.getLength());
+    blob->insert(blob->begin(), str.getStr(), str.getStr() + str.getLength() + 1 );
     *buffer = address(*blob);
     data.unmarshalStrings.push_back(StringData(variable, *buffer, special));
     return ERRCODE_NONE;
commit eab0ecbbd9237f274da64612b76767e3f17abefb
Author: Noel Power <noel.power at novell.com>
Date:   Tue Feb 8 14:48:10 2011 +0000

    oops, correct commit fa8cfcd45225d55d567e5ad05900c36700549d5d
    
    bah, I applied the wrong copy of the patch to the tree I use for committing. Minor tweak to logic
    
    Signed-off-by: 	Michael Meeks <michael.meeks at novell.com>

diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index 38183f8..8685880 100644
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -375,7 +375,7 @@ send_args( int fd, rtl_uString *pCwdPath )
              for ( ; index < len; ++index )
              {
                  if ( rtl_ustr_indexOfAscii_WithLength( pTmp->buffer
-                     , pTmp->length , schemes[ index ], strlen(schemes[ index ] ))  == 1  )
+                     , pTmp->length , schemes[ index ], strlen(schemes[ index ] ))  == 0  )
                  {
                      bIsSpecialURL = sal_True;
                      break;
commit aa19c0ba41fbfdf9d3d031c7e0ba16e99a43eff9
Author: Noel Power <noel.power at novell.com>
Date:   Tue Feb 8 14:35:17 2011 +0000

    companion ( or even part 2 ) of a fix for fdo#30879
    
    tweak oosplash arg handling to not clobber some special url protocols, '.uno', '.slot' etc.
    
    Signed-off-by: 	Michael Meeks <michael.meeks at novell.com>

diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index dc28614..38183f8 100644
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -359,14 +359,30 @@ send_args( int fd, rtl_uString *pCwdPath )
 
         // this is not a param, we have to prepend filenames with file://
         // FIXME: improve the check
-        if ( ( pTmp->buffer[0] != (sal_Unicode)'-' ) &&
-             ( rtl_ustr_indexOfAscii_WithLength( pTmp->buffer, pTmp->length, "slot:", 5 /* length */ ) ) )
+        if ( ( pTmp->buffer[0] != (sal_Unicode)'-' ) )
         {
             sal_Int32 nFirstColon = rtl_ustr_indexOfChar_WithLength( pTmp->buffer, pTmp->length, ':' );
             sal_Int32 nFirstSlash = rtl_ustr_indexOfChar_WithLength( pTmp->buffer, pTmp->length, '/' );
 
             // check that pTmp is not an URI yet
-            if ( nFirstColon < 1 || ( nFirstSlash != nFirstColon + 1 ) )
+            // note ".uno" ".slot" & "vnd.sun.star.script" are special urls that
+            // don't expect a following '/'
+
+             const char* schemes[] = { "slot:",  ".uno:", "vnd.sun.star.script:" };
+             sal_Bool bIsSpecialURL = sal_False;
+             int index = 0;
+             int len =  SAL_N_ELEMENTS(schemes);
+             for ( ; index < len; ++index )
+             {
+                 if ( rtl_ustr_indexOfAscii_WithLength( pTmp->buffer
+                     , pTmp->length , schemes[ index ], strlen(schemes[ index ] ))  == 1  )
+                 {
+                     bIsSpecialURL = sal_True;
+                     break;
+                 }
+             }
+
+            if ( !bIsSpecialURL && ( nFirstColon < 1 || ( nFirstSlash != nFirstColon + 1 ) ) )
             {
                 // some of the switches (currently just -pt) don't want to
                 // have the filenames as URIs
commit d18c9a17f33c100fa38e65209f4353cad63ba0af
Author: bjoern.michaelsen at canonical.com <Bjoern Michaelsen>
Date:   Tue Feb 8 00:07:47 2011 +0100

    lp#696527: enable human icon theme in LibreOffice
    
    Signed-off-by: bjoern.michaelsen at canonical.com <Bjoern Michaelsen>
    (cherry picked from commit f6a16194d1348cb1c679acec5cd9e014ca3f3104)
    
    Signed-off-by: Thorsten Behrens <tbehrens at novell.com>

diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 54893bb..c191089 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5867,6 +5867,11 @@
 							<desc>Classic - the OpenOffice.org 2.0 default theme</desc>
 						</info>
 					</enumeration>
+					<enumeration oor:value="human">
+						<info>
+							<desc>Human - the Gnome default theme for Ubuntu</desc>
+						</info>
+					</enumeration>
 				</constraints>
 				<value>auto</value>
 			</prop>
commit 27a82c54cbd78486ca876e0e8668d4943852967f
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Jan 12 07:21:06 2011 +0100

    handle css::table::BorderLine in addition to css::table::BorderLine2
    
    That means that table cell properties are correctly set on OpenXML
    import again, whoo!
    
    Signed-off-by: Cédric Bosdonnat <cedricbosdo at openoffice.org>

diff --git a/editeng/inc/editeng/boxitem.hxx b/editeng/inc/editeng/boxitem.hxx
index b7b1d06..35fd036 100644
--- a/editeng/inc/editeng/boxitem.hxx
+++ b/editeng/inc/editeng/boxitem.hxx
@@ -109,6 +109,7 @@ public:
     USHORT 	CalcLineSpace( USHORT nLine, BOOL bIgnoreLine = FALSE ) const;
     static com::sun::star::table::BorderLine2 SvxLineToLine( const SvxBorderLine* pLine, sal_Bool bConvert );
     static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert);
+    static sal_Bool LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert);
 };
 
 inline void SvxBoxItem::SetDistance( USHORT nNew )
diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx
index 83dca1a..9fc36a7 100644
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@ -1938,41 +1938,97 @@ bool SvxBoxItem::QueryValue( uno::Any& rVal, BYTE nMemberId  ) const
     return true;
 }
 
-// -----------------------------------------------------------------------
-sal_Bool SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
+namespace
+{
+
+sal_Bool
+lcl_lineToSvxLine(const table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
 {
     rSvxLine.SetColor(   Color(rLine.Color));
     rSvxLine.SetInWidth( sal_uInt16( bConvert ? MM100_TO_TWIP(rLine.InnerLineWidth) : rLine.InnerLineWidth  ));
     rSvxLine.SetOutWidth( sal_uInt16( bConvert ? MM100_TO_TWIP(rLine.OuterLineWidth) : rLine.OuterLineWidth  ));
     rSvxLine.SetDistance( sal_uInt16( bConvert ? MM100_TO_TWIP(rLine.LineDistance	)  : rLine.LineDistance	 ));
 
-    const table::BorderLine2* pLine2 = static_cast< const table::BorderLine2* >( &rLine );
+    sal_Bool bRet = rLine.InnerLineWidth > 0 || rLine.OuterLineWidth > 0;
+    return bRet;
+}
+
+}
+
+// -----------------------------------------------------------------------
+sal_Bool SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
+{
+    return lcl_lineToSvxLine(rLine, rSvxLine, bConvert);
+}
+
+sal_Bool
+SvxBoxItem::LineToSvxLine(const ::com::sun::star::table::BorderLine2& rLine, SvxBorderLine& rSvxLine, sal_Bool bConvert)
+{
+    const bool bRet(lcl_lineToSvxLine(rLine, rSvxLine, bConvert));
 
-    if ( pLine2 )
+    switch ( rLine.LineStyle )
     {
-        switch ( pLine2->LineStyle )
-        {
-            default:
-            case table::BorderLineStyle::SOLID:
-                rSvxLine.SetStyle( SOLID );
-                break;
-            case table::BorderLineStyle::DOTTED:
-                rSvxLine.SetStyle( DOTTED );
-                break;
-            case table::BorderLineStyle::DASHED:
-                rSvxLine.SetStyle( DASHED );
-                break;
-        }
+        default:
+        case table::BorderLineStyle::SOLID:
+            rSvxLine.SetStyle( SOLID );
+            break;
+        case table::BorderLineStyle::DOTTED:
+            rSvxLine.SetStyle( DOTTED );
+            break;
+        case table::BorderLineStyle::DASHED:
+            rSvxLine.SetStyle( DASHED );
+            break;
     }
-    sal_Bool bRet = rLine.InnerLineWidth > 0 || rLine.OuterLineWidth > 0;
+
     return bRet;
 }
 
 // -----------------------------------------------------------------------
 
+namespace
+{
+
+bool
+lcl_extractBorderLine(const uno::Any& rAny, table::BorderLine2& rLine)
+{
+    if (rAny >>= rLine)
+        return true;
+
+    table::BorderLine aBorderLine;
+    if (rAny >>= aBorderLine)
+    {
+        rLine.Color = aBorderLine.Color;
+        rLine.InnerLineWidth = aBorderLine.InnerLineWidth;
+        rLine.OuterLineWidth = aBorderLine.OuterLineWidth;
+        rLine.LineDistance = aBorderLine.LineDistance;
+        rLine.LineStyle = table::BorderLineStyle::SOLID;
+        return true;
+    }
+
+    return false;
+}
+
+template<typename Item>
+bool
+lcl_setLine(const uno::Any& rAny, Item& rItem, USHORT nLine, const bool bConvert)
+{
+    bool bSet(false);
+    table::BorderLine2 aBorderLine;
+    if (lcl_extractBorderLine(rAny, aBorderLine))
+    {
+        SvxBorderLine aLine;
+        bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
+        if (bSet)
+            rItem.SetLine(&aLine, nLine);
+    }
+    return bSet;
+}
+
+}
+
 bool SvxBoxItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
 {
-    sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
+    bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
     sal_uInt16 nLine = BOX_LINE_TOP;
     sal_Bool bDistMember = sal_False;
     nMemberId &= ~CONVERT_TWIPS;
@@ -1984,44 +2040,18 @@ bool SvxBoxItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
             if (( rVal >>= aSeq ) && ( aSeq.getLength() == 9 ))
             {
                 // 4 Borders and 5 distances
-                sal_Int32 nDist = 0;
-                SvxBorderLine aLine;
-                table::BorderLine2 aBorderLine;
-                if ( aSeq[0] >>= aBorderLine )
-                {
-                    sal_Bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-                    SetLine(bSet ? &aLine : 0, BOX_LINE_LEFT );
-                }
-                else
-                    return sal_False;
-
-                if ( aSeq[1] >>= aBorderLine )
-                {
-                    sal_Bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-                    SetLine(bSet ? &aLine : 0, BOX_LINE_RIGHT );
-                }
-                else
-                    return sal_False;
-
-                if ( aSeq[2] >>= aBorderLine )
+                const sal_uInt16 aBorders[] = { BOX_LINE_LEFT, BOX_LINE_RIGHT, BOX_LINE_BOTTOM, BOX_LINE_TOP };
+                for (int n(0); n != SAL_N_ELEMENTS(aBorders); ++n)
                 {
-                    sal_Bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-                    SetLine(bSet ? &aLine : 0, BOX_LINE_BOTTOM );
-                }
-                else
-                    return sal_False;
-
-                if ( aSeq[3] >>= aBorderLine )
-                {
-                    sal_Bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-                    SetLine(bSet ? &aLine : 0, BOX_LINE_TOP );
+                    if (!lcl_setLine(aSeq[n], *this, aBorders[n], bConvert))
+                        return sal_False;
                 }
-                else
-                    return sal_False;
 
+                // WTH are the borders and the distances saved in different order?
                 sal_uInt16 nLines[4] = { BOX_LINE_TOP, BOX_LINE_BOTTOM, BOX_LINE_LEFT, BOX_LINE_RIGHT };
                 for ( sal_Int32 n = 4; n < 9; n++ )
                 {
+                    sal_Int32 nDist = 0;
                     if ( aSeq[n] >>= nDist )
                     {
                         if( bConvert )
@@ -2089,7 +2119,7 @@ bool SvxBoxItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
             return sal_False;
 
         table::BorderLine2 aBorderLine;
-        if( rVal >>= aBorderLine )
+        if( lcl_extractBorderLine(rVal, aBorderLine) )
         {
             // usual struct
         }
@@ -2901,26 +2931,13 @@ bool SvxBoxInfoItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
             if (( rVal >>= aSeq ) && ( aSeq.getLength() == 5 ))
             {
                 // 2 BorderLines, flags, valid flags and distance
-                table::BorderLine2 aBorderLine;
-                SvxBorderLine aLine;
-                sal_Int16 nFlags( 0 );
-                sal_Int32 nVal( 0 );
-                if ( aSeq[0] >>= aBorderLine )
-                {
-                    sal_Bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-                    if ( bSet )
-                        SetLine( &aLine, BOXINFO_LINE_HORI );
-                }
-                else
+                if (!lcl_setLine(aSeq[0], *this, BOXINFO_LINE_HORI, bConvert))
                     return sal_False;
-                if ( aSeq[1] >>= aBorderLine )
-                {
-                    sal_Bool bSet = SvxBoxItem::LineToSvxLine(aBorderLine, aLine, bConvert);
-                    if ( bSet )
-                        SetLine( &aLine, BOXINFO_LINE_VERT );
-                }
-                else
+                if (!lcl_setLine(aSeq[1], *this, BOXINFO_LINE_VERT, bConvert))
                     return sal_False;
+
+                sal_Int16 nFlags( 0 );
+                sal_Int32 nVal( 0 );
                 if ( aSeq[2] >>= nFlags )
                 {
                     SetTable  ( ( nFlags & 0x01 ) != 0 );
@@ -2950,7 +2967,7 @@ bool SvxBoxInfoItem::PutValue( const uno::Any& rVal, BYTE nMemberId )
                 return sal_False;
 
             table::BorderLine2 aBorderLine;
-            if( rVal >>= aBorderLine )
+            if( lcl_extractBorderLine(rVal, aBorderLine) )
             {
                 // usual struct
             }
@@ -3327,7 +3344,7 @@ bool SvxLineItem::PutValue( const uno::Any& rVal, BYTE nMemId )
     if ( nMemId == 0 )
     {
         table::BorderLine2 aLine;
-        if ( rVal >>= aLine )
+        if ( lcl_extractBorderLine(rVal, aLine) )
         {
             if ( !pLine )
                 pLine = new SvxBorderLine;


More information about the Libreoffice-commits mailing list