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

Stephan Bergmann sbergman at redhat.com
Fri May 23 14:33:07 PDT 2014


 sw/source/core/doc/notxtfrm.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 0086754e8dca3772547a9a07c4d1f10a5837b667
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri May 23 23:23:19 2014 +0200

    For now, work around sporadic SwNoTxtFrm::Modify failures
    
    ...that appear sporadically in the wild but are decently reproducible at least
    on OS X when changing the DoUpdateModifiedOLE timeout in the SwDoc ctor
    (sw/source/core/doc/docnew.cxx) from 1000 to 100 when running
    CppunitTest_writerperfect_writer, caused by a bad static cast from an SwOLENode
    to an SwGrfNode at
    
    SwNoTxtFrm::Modify
    SwModify::ModifyBroadcast
    SwModify::NotifyClients
    SwCntntNode::Modify
    SwClient::ModifyNotification
    SwDoc::DoUpdateModifiedOLE
    SwDoc::LinkStubDoUpdateModifiedOLE
    Link::Call
    Timer::Timeout
    Timer::ImplTimerCallbackProc
    SalTimer::CallCallback
    -[TimerCallbackCaller timerElapsed:]
    [...]
    -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
    AquaSalInstance::AnyInput
    Application::AnyInput
    SwLayAction::CheckIdleEnd
    SwLayAction::_FormatFlyCntnt
    SwObjectFormatter::_FormatObj
    SwObjectFormatterLayFrm::DoFormatObj
    SwObjectFormatter::_FormatObjsAtFrm
    SwObjectFormatterLayFrm::DoFormatObjs
    SwObjectFormatter::FormatObjsAtFrm
    SwLayAction::InternalAction
    SwLayAction::Action
    SwViewShell::ImplEndAction
    SwViewShell::EndAction
    SwCrsrShell::EndAction
    SwRootFrm::EndAllAction
    UnoActionContext::~UnoActionContext
    UnoActionContext::~UnoActionContext
    SwXTextDocument::unlockControllers
    writerperfect::test::WpftImportTestBase::load
    [...]
    
    Change-Id: I8903cf6890c3cf526768939dca2438fa2d978310

diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 0b0ba92..af2200e 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -602,6 +602,10 @@ void SwNoTxtFrm::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
         break;
 
     case RES_UPDATE_ATTR:
+        if (GetNode()->GetNodeType() != ND_GRFNODE) {
+            break;
+        }
+        // fall through
     case RES_FMT_CHG:
         CLEARCACHE( (SwGrfNode*) GetNode() )
         break;


More information about the Libreoffice-commits mailing list