summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-04-24 14:37:15 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-04-24 14:37:15 +0000
commit0cd66f23d25027c7c0b7de760f4534c3ff62d1f8 (patch)
tree7e2b67a080cb13e010dd831d56b6ffc2cfc3bbe8
parent462ebd5b18e44442e4f5dcd5f8992b719d049465 (diff)
CWS-TOOLING: integrate CWS calcdelrows_DEV300
2009-04-14 09:17:29 +0200 nn r270747 : #i100895# for collaboration, allow rejection regardless of IsDeletedIn
-rw-r--r--sc/inc/chgtrack.hxx2
-rw-r--r--sc/source/core/tool/chgtrack.cxx7
-rw-r--r--sc/source/ui/docshell/docsh3.cxx2
3 files changed, 8 insertions, 3 deletions
diff --git a/sc/inc/chgtrack.hxx b/sc/inc/chgtrack.hxx
index cb84cf103..91d433c9c 100644
--- a/sc/inc/chgtrack.hxx
+++ b/sc/inc/chgtrack.hxx
@@ -1373,7 +1373,7 @@ public:
BOOL bAllFlat = FALSE ) const;
// Reject visible Action (und abhaengige)
- BOOL Reject( ScChangeAction* );
+ BOOL Reject( ScChangeAction*, bool bShared = false );
// Accept visible Action (und abhaengige)
SC_DLLPUBLIC BOOL Accept( ScChangeAction* );
diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx
index 84d0439d4..76af46921 100644
--- a/sc/source/core/tool/chgtrack.cxx
+++ b/sc/source/core/tool/chgtrack.cxx
@@ -4851,8 +4851,13 @@ BOOL ScChangeTrack::RejectAll()
}
-BOOL ScChangeTrack::Reject( ScChangeAction* pAct )
+BOOL ScChangeTrack::Reject( ScChangeAction* pAct, bool bShared )
{
+ // #i100895# When collaboration changes are reversed, it must be possible
+ // to reject a deleted row above another deleted row.
+ if ( bShared && pAct->IsDeletedIn() )
+ pAct->RemoveAllDeletedIn();
+
if ( !pAct->IsRejectable() )
return FALSE;
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 6710eb52b..6ec338a87 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -1292,7 +1292,7 @@ bool ScDocShell::MergeSharedDocument( ScDocShell* pSharedDocShell )
ScChangeAction* pAction = pThisTrack->GetLast();
while ( pAction && pAction->GetActionNumber() >= nStartShared )
{
- pThisTrack->Reject( pAction );
+ pThisTrack->Reject( pAction, true );
pAction = pAction->GetPrev();
}