[Libreoffice-commits] core.git: embeddedobj/source

Caolán McNamara caolanm at redhat.com
Tue Sep 27 09:18:34 UTC 2016


 embeddedobj/source/msole/olevisual.cxx |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

New commits:
commit e6fc195ae8a59d665395149ea5f06749c4c6a596
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 23 17:10:18 2016 +0100

    Resolves: tdf#98946 too many running MathTypes...
    
    causes mathtype to display a warning dialog, so
    try restoring them back to loaded after loading
    them in order to get their preferred size
    
    Change-Id: Idff714efa228a739f380dbae429d852a8f8c5298
    Reviewed-on: https://gerrit.libreoffice.org/29234
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/embeddedobj/source/msole/olevisual.cxx b/embeddedobj/source/msole/olevisual.cxx
index 0445c09..891de44 100644
--- a/embeddedobj/source/msole/olevisual.cxx
+++ b/embeddedobj/source/msole/olevisual.cxx
@@ -203,6 +203,8 @@ awt::Size SAL_CALL OleEmbeddedObject::getVisualAreaSize( sal_Int64 nAspect )
                 awt::Size aSize;
                 aGuard.clear();
 
+                bool bBackToLoaded = false;
+
                 sal_Bool bSuccess = sal_False;
                 if ( getCurrentState() == embed::EmbedStates::LOADED )
                 {
@@ -211,6 +213,9 @@ awt::Size SAL_CALL OleEmbeddedObject::getVisualAreaSize( sal_Int64 nAspect )
                     // try to switch the object to RUNNING state and request the value again
                     try {
                         changeState( embed::EmbedStates::RUNNING );
+                        // the links should be switched back to loaded state to avoid too
+                        // many open MathType instances
+                        bBackToLoaded = true;
                     }
                     catch( const uno::Exception& )
                     {
@@ -230,6 +235,17 @@ awt::Size SAL_CALL OleEmbeddedObject::getVisualAreaSize( sal_Int64 nAspect )
                 {
                 }
 
+                if (bBackToLoaded)
+                {
+                    try
+                    {
+                        changeState(embed::EmbedStates::LOADED);
+                    }
+                    catch( const uno::Exception& )
+                    {
+                    }
+                }
+
                 if ( !bSuccess )
                 {
                     try


More information about the Libreoffice-commits mailing list