summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/source/draw/shapeexport.cxx4
-rw-r--r--xmloff/source/forms/layerexport.cxx14
2 files changed, 16 insertions, 2 deletions
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index 92a8e0ed6d98..5eb127ac8a89 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -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&)
{
diff --git a/xmloff/source/forms/layerexport.cxx b/xmloff/source/forms/layerexport.cxx
index a5c604ca65f0..136a10368d85 100644
--- a/xmloff/source/forms/layerexport.cxx
+++ b/xmloff/source/forms/layerexport.cxx
@@ -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 );
}