FYI; would be great if some Writer expert could look into this and decide on a more general fix:

On 05/23/2014 11:33 PM, Stephan Bergmann wrote:
  sw/source/core/doc/notxtfrm.cxx |    4 ++++
  1 file changed, 4 insertions(+)

New commits:
commit 0086754e8dca3772547a9a07c4d1f10a5837b667
Author: Stephan Bergmann <sberg...@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;

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to