tdf#120397 - odf export fix missing texts in text box control
(Ab)use a call to XTextRange::getText to flush edits and restore the selection of the textcontent in the textfields. TODO: unit/UItest Change-Id: If8e1c85f3565ae1b80fd0645c0905aae16404379 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181245 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
This commit is contained in:
parent
0ccd8cd083
commit
4328d1cca6
@ -312,10 +312,10 @@ void XMLShapeExport::collectShapeAutoStyles(const uno::Reference< drawing::XShap
|
||||
{
|
||||
try
|
||||
{
|
||||
// tdf#153161: it seems that the call to XTextRange::getString flushes the changes
|
||||
// tdf#153161: it seems that the call to xText->getText flushes the changes
|
||||
// for some objects, that otherwise fail to get exported correctly. Maybe at some
|
||||
// point it would make sense to find a better place for more targeted flush.
|
||||
xText->getString();
|
||||
xText = xText->getText();
|
||||
}
|
||||
catch (uno::RuntimeException const&)
|
||||
{
|
||||
|
@ -523,6 +523,20 @@ namespace xmloff
|
||||
Reference< XText > xControlText( _rxObject, UNO_QUERY );
|
||||
if ( xControlText.is() )
|
||||
{
|
||||
try
|
||||
{
|
||||
// tdf#120397: similar to the fix of tdf#153161 where
|
||||
// XTextRange::getText() --> ::GetSelection() flushes the changes
|
||||
// for some Shape objects we also need to set the end cursor pos
|
||||
// to the end of the form text objects, otherwise fail to get
|
||||
// exported correctly. Maybe at some point it would make sense
|
||||
// to find a better place for more targeted flush.
|
||||
xControlText = xControlText->getText();
|
||||
}
|
||||
catch (css::uno::RuntimeException const&)
|
||||
{
|
||||
// just in case if we would hit something here
|
||||
}
|
||||
m_rContext.GetTextParagraphExport()->collectTextAutoStyles( xControlText );
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user