Currently when printing via SwXTextDocument::getRendererCount()
two STL containers in class SwRenderData are filled with bare pointers
to page frames from the layout.
These pointers are then used by SwXTextDocument::render(), which takes
one page out of the map and prints it via this non-ref-counted pointer.
This bizarre design will not be tolerated; instead, when printing a page,
iterate over SwRootFrm::GetLower() until the requested page is found.
This is slower, i.e. O(n^2), but at least it does not crash.
Previously blinking was not exported in IE mode. IE still does not
support blinking (neither does Chrome or Safari) but the extra tag
does not make things any worse and allows importing the HTML back
to LibreOffice without loss of formatting.
Code is also simplified by removing conditionals for options that
no longer need to be disabled.
MSVC warning C4510: 'TokenType' : default constructor could not be
generated and warning C4610: struct 'TokenType' can never be
instantiated - user defined constructor required.
The default constructor could not be generated because of the const
member eTokenType, so unconstipate that. The g_TokenTypes array is
const itself anyway.
MSVC warning C4946: reinterpret_cast used between related classes:
'sw::mark::IMark' and 'sw::mark::ICheckboxFieldmark'.
This time changing the reinterpret_cast to static_cast didn't work,
that caused compilation errors:
cannot convert a 'sw::mark::IMark*' to a
'sw::mark::ICheckboxFieldmark*'; conversion from a virtual base class
is implied
'const_cast' : cannot convert from 'const sw::mark::IMark *' to
'sw::mark::ICheckboxFieldmark *'
Conversion from pointer to base class to pointer to derived class
requires an explicit cast (other than const_cast)
dynamic_cast is what we want here. Also added an OSL_ASSERT sanity
check. Thanks to sberg and hub for discussing this on IRC.
More code paths that needed fixing - Writer sports its own Graphic
loading implementation, so that had the need for the stream name
fwd-ing, too. The svg deep type detection was necessary for e.g. the
flat odf - which has inline svg without any filename.
modify sax::Converter::convertMeasure to use sal_Int64 instead of BigInt:
should be sufficient, since the largest number is SAL_INT32_MAX * 10^7.
remove duplicate methods from SvXMLUnitConverter:
convertMeasurePx, convertMeasure (static variants)
remove entirely duplicative class SvXMLExportHelper:
GetConversionFactor, GetUnitFromString, AddLength
change SvXMLUnitConverter interface from MapUnit to css::util::MeasureUnit.
change SvXMLExport constructor params from MapUnit to css::util::MeasureUnit.
rename some methods to turn compiler into merge conflict detector :)
Added an optional SwPaM argument to SID_PARA_DLG action to avoid
changing the current cursor before showing the dialog.
Set the focus to SwEditWin after the action to continue editing the
document.