summaryrefslogtreecommitdiff
path: root/lotuswordpro
diff options
context:
space:
mode:
Diffstat (limited to 'lotuswordpro')
-rw-r--r--lotuswordpro/qa/cppunit/data/fail/reference-3.lwpbin0 -> 62632 bytes
-rw-r--r--lotuswordpro/source/filter/lwptablelayout.cxx17
2 files changed, 10 insertions, 7 deletions
diff --git a/lotuswordpro/qa/cppunit/data/fail/reference-3.lwp b/lotuswordpro/qa/cppunit/data/fail/reference-3.lwp
new file mode 100644
index 000000000000..6076b43b75bf
--- /dev/null
+++ b/lotuswordpro/qa/cppunit/data/fail/reference-3.lwp
Binary files differ
diff --git a/lotuswordpro/source/filter/lwptablelayout.cxx b/lotuswordpro/source/filter/lwptablelayout.cxx
index 4eaa7ce3955a..0c8cbb2fbe73 100644
--- a/lotuswordpro/source/filter/lwptablelayout.cxx
+++ b/lotuswordpro/source/filter/lwptablelayout.cxx
@@ -754,9 +754,8 @@ void LwpTableLayout::RegisterStyle()
// so the NULL pointer cause sodc freeze. Add code to check the
// the pointer.
//New Code
- if( GetFoundry() && GetTable() )
-
- PutCellVals( GetFoundry(),GetTable()->GetObjectID() );
+ if (GetFoundry() && GetTable())
+ PutCellVals(GetFoundry(), GetTable()->GetObjectID());
}
/**
* @short read table layout
@@ -765,11 +764,15 @@ void LwpTableLayout::RegisterStyle()
void LwpTableLayout::ParseTable()
{
// get super table layout
- LwpSuperTableLayout * pSuper = GetSuperTableLayout();
- if(!pSuper)
+ LwpSuperTableLayout* pSuper = GetSuperTableLayout();
+ if (!pSuper)
{
- assert(false);
- return;
+ throw std::runtime_error("missing super table");
+ }
+
+ if (m_pXFTable.get())
+ {
+ throw std::runtime_error("this table is already parsed");
}
// set name of object