Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index



Hi!

https://bugs.freedesktop.org/show_bug.cgi?id=45522

There's an attached odt file with a table in it. Copying the table to other LO programs (Calc, etc) 
causes LO to crash.
After inspection I realized that the problem is in sw/source/core/table/swtable.cxx
There is a struct definition in that file SwTableCellInfo::Impl with a void setTable(const SwTable 
* pTable) method.

Error is in if (m_pTabFrm->IsFollow()) line.
m_pTabFrm = SwIterator<SwTabFrm,SwFmt>::FirstElement(*pFrmFmt);
Problem is that SwIterator<SwTabFrm,SwFmt>::FirstElement(*pFrmFmt); can return with NULL, so asking 
for ->IsFollow() can cause errors.

After adding a check ( if ( m_pTabFrm ) ), crash is gone, although copying the table is still 
buggy. In the pasted table the whole layout is gone. All the data are in the first column in Calc 
and only the upper part of the table is copied in Draw and Impress.
If I copy the table without the cell containing 'Wind Class', than it's ok, so that cell somehow 
ruins the copy mechanism.

Someone has any idea why?

Szabolcs
                                          

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.