Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


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 <sbergman@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;


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.