diff options
Diffstat (limited to 'sw/source/core/txtnode/thints.cxx')
-rw-r--r-- | sw/source/core/txtnode/thints.cxx | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/sw/source/core/txtnode/thints.cxx b/sw/source/core/txtnode/thints.cxx index 465a7c5816c0..b83b86633cc3 100644 --- a/sw/source/core/txtnode/thints.cxx +++ b/sw/source/core/txtnode/thints.cxx @@ -1661,7 +1661,10 @@ void SwTxtNode::DeleteAttribute( SwTxtAttr * const pAttr ) { // create MsgHint before start/end become invalid SwUpdateAttr aHint( - pAttr->GetStart(), *pAttr->GetEnd(), pAttr->Which() ); + pAttr->GetStart(), + *pAttr->GetEnd(), + pAttr->Which()); + m_pSwpHints->Delete( pAttr ); SwTxtAttr::Destroy( pAttr, GetDoc()->GetAttrPool() ); NotifyClients( 0, &aHint ); @@ -1734,7 +1737,11 @@ void SwTxtNode::DeleteAttributes( // Start und End weg. // Das CalcVisibleFlag bei HiddenParaFields entfaellt, // da dies das Feld im Dtor selbst erledigt. - SwUpdateAttr aHint( nStart, *pEndIdx, nWhich ); + SwUpdateAttr aHint( + nStart, + *pEndIdx, + nWhich); + m_pSwpHints->DeleteAtPos( nPos ); // gefunden, loeschen, SwTxtAttr::Destroy( pTxtHt, GetDoc()->GetAttrPool() ); NotifyClients( 0, &aHint ); @@ -3169,11 +3176,16 @@ bool SwpHints::TryInsertHint( CHECK; #endif // ... und die Abhaengigen benachrichtigen - if ( rNode.GetDepends() ) + if(rNode.GetDepends()) { - SwUpdateAttr aHint( nHtStart, nHtStart, nWhich ); - rNode.ModifyNotification( 0, &aHint ); + SwUpdateAttr aHint( + nHtStart, + nHtStart, + nWhich); + + rNode.ModifyNotification(0,&aHint); } + return true; } @@ -3250,8 +3262,11 @@ bool SwpHints::TryInsertHint( // ... und die Abhaengigen benachrichtigen if ( rNode.GetDepends() ) { - SwUpdateAttr aHint( nHtStart, nHtStart == nHintEnd ? nHintEnd + 1 : nHintEnd, - nWhich, aWhichSublist ); + SwUpdateAttr aHint( + nHtStart, + nHtStart == nHintEnd ? nHintEnd + 1 : nHintEnd, + nWhich); + rNode.ModifyNotification( 0, &aHint ); } |