[Libreoffice-commits] .: Branch 'libreoffice-3-5-2' - sw/inc sw/source

Petr Mladek pmladek at kemper.freedesktop.org
Mon Mar 26 08:13:57 PDT 2012


 sw/inc/swtable.hxx                    |    2 ++
 sw/source/core/table/swtable.cxx      |    7 +++++++
 sw/source/filter/ww8/WW8TableInfo.cxx |    3 +--
 3 files changed, 10 insertions(+), 2 deletions(-)

New commits:
commit c646eaa216842443bb9bf88caf22f1805006dcc9
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Mar 21 17:15:06 2012 +0100

    fdo#45522: WW8TableInfo::processSwTable: check that table has layout
    (cherry picked from commit 5c3dd5af41bc801ee6023513399c01c632dc7779)
    
    Signed-off-by: Michael Stahl <mstahl at redhat.com>
    Signed-off-by: Miklos Vajna <vmiklos at suse.cz>
    Signed-off-by: Petr Mladek <pmladek at suse.cz>

diff --git a/sw/inc/swtable.hxx b/sw/inc/swtable.hxx
index fb1d253..73df08c 100644
--- a/sw/inc/swtable.hxx
+++ b/sw/inc/swtable.hxx
@@ -326,6 +326,8 @@ public:
 #ifdef DBG_UTIL
     void CheckConsistency() const;
 #endif
+
+    bool HasLayout() const;
 };
 
 class SW_DLLPUBLIC SwTableLine: public SwClient     // Client of FrmFmt.
diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx
index ae36c31..d961289 100644
--- a/sw/source/core/table/swtable.cxx
+++ b/sw/source/core/table/swtable.cxx
@@ -2804,6 +2804,13 @@ void SwTable::RegisterToFormat( SwFmt& rFmt )
     rFmt.Add( this );
 }
 
+bool SwTable::HasLayout() const
+{
+    const SwFrmFmt* pFrmFmt = GetFrmFmt();
+    //a table in a clipboard document doesn't have any layout information
+    return pFrmFmt && SwIterator<SwTabFrm,SwFmt>::FirstElement(*pFrmFmt);
+}
+
 void SwTableLine::RegisterToFormat( SwFmt& rFmt )
 {
     rFmt.Add( this );
diff --git a/sw/source/filter/ww8/WW8TableInfo.cxx b/sw/source/filter/ww8/WW8TableInfo.cxx
index 6171430..095c94b 100644
--- a/sw/source/filter/ww8/WW8TableInfo.cxx
+++ b/sw/source/filter/ww8/WW8TableInfo.cxx
@@ -631,8 +631,7 @@ void WW8TableInfo::processSwTable(const SwTable * pTable)
 
     WW8TableNodeInfo * pPrev = NULL;
 
-    SwFrmFmt * pFrmFmt = pTable->GetFrmFmt();
-    if (pFrmFmt != NULL && pTable->IsTblComplex())
+    if (pTable->IsTblComplex() && pTable->HasLayout())
     {
         pPrev = processSwTableByLayout(pTable);
 


More information about the Libreoffice-commits mailing list