sw/source/core/layout/layact.cxx |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

New commits:
commit 7334341e5986b7685866a836195fd6d189293cab
Author: Herbert Dürr <h...@apache.org>
Date:   Fri Aug 2 07:59:30 2013 +0000

    #i122885# handle SmartTag related exceptions gracefully
    
    and support diagnostics by providing exception details to stderr

diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx
index 84dc484..83cf9a7 100644
--- a/sw/source/core/layout/layact.cxx
+++ b/sw/source/core/layout/layact.cxx
@@ -2218,12 +2218,17 @@ sal_Bool SwLayIdle::_DoIdleJob( const SwCntntFrm *pCnt, 
IdleJobType eJob )
             }
             case SMART_TAGS : // SMARTTAGS
             {
-                const SwRect aRepaint( ((SwTxtFrm*)pCnt)->SmartTagScan( 
pCntntNode, nTxtPos ) );
-                bPageValid = bPageValid && !pTxtNode->IsSmartTagDirty();
-                if( !bPageValid )
-                    bAllValid = sal_False;
-                if ( aRepaint.HasArea() )
-                    pImp->GetShell()->InvalidateWindows( aRepaint );
+                try {
+                    const SwRect aRepaint( ((SwTxtFrm*)pCnt)->SmartTagScan( 
pCntntNode, nTxtPos ) );
+                    bPageValid = bPageValid && !pTxtNode->IsSmartTagDirty();
+                    if( !bPageValid )
+                        bAllValid = sal_False;
+                    if ( aRepaint.HasArea() )
+                        pImp->GetShell()->InvalidateWindows( aRepaint );
+                } catch( const ::com::sun::star::uno::RuntimeException& e) {
+                    // #i122885# handle smarttag problems gracefully and 
provide diagnostics
+                    fprintf( stderr, "SMART_TAGS Exception: %s\n", 
rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
+                }
                 if ( Application::AnyInput( 
INPUT_MOUSEANDKEYBOARD|INPUT_OTHER|INPUT_PAINT ) )
                     return sal_True;
                 break;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to