summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-08-15 14:09:51 +0200
committerMichael Stahl <mstahl@redhat.com>2012-08-16 18:44:05 +0200
commitd3bdadad61d95cc802c869d989ed94326a7066de (patch)
treebc5e023e35c1a28bd7f3cc730a3a281ef1323fef /svx/source
parentaa2d9729bdac0173349a5f76e2346b8335de565f (diff)
Convert pRedoStack in SdrModel class from Container to std::deque
Change-Id: I0535175c4881a1ea55d7cb7361ae78bb81aa10c6
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/svdraw/svdmodel.cxx15
1 files changed, 9 insertions, 6 deletions
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index d3c0c380e7dc..14d45d61b962 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -422,8 +422,9 @@ void SdrModel::ClearUndoBuffer()
pUndoStack=NULL;
}
if (pRedoStack!=NULL) {
- while (pRedoStack->Count()!=0) {
- delete (SfxUndoAction*) pRedoStack->Remove(pRedoStack->Count()-1);
+ while (!pRedoStack->empty()) {
+ delete pRedoStack->back();
+ pRedoStack->pop_back();
}
delete pRedoStack;
pRedoStack=NULL;
@@ -446,10 +447,10 @@ bool SdrModel::Undo()
mbUndoEnabled = false;
pDo->Undo();
if(pRedoStack==NULL)
- pRedoStack=new Container(1024,16,16);
+ pRedoStack=new std::deque<SfxUndoAction*>;
SfxUndoAction* p = pUndoStack->front();
pUndoStack->pop_front();
- pRedoStack->Insert(p,(sal_uIntPtr)0);
+ pRedoStack->push_front(p);
mbUndoEnabled = bWasUndoEnabled;
}
}
@@ -473,7 +474,9 @@ bool SdrModel::Redo()
pDo->Redo();
if(pUndoStack==NULL)
pUndoStack=new std::deque<SfxUndoAction*>;
- pUndoStack->push_front((SfxUndoAction*) pRedoStack->Remove((sal_uIntPtr)0));
+ SfxUndoAction* p = pRedoStack->front();
+ pRedoStack->pop_front();
+ pUndoStack->push_front(p);
mbUndoEnabled = bWasUndoEnabled;
}
}
@@ -522,7 +525,7 @@ void SdrModel::ImpPostUndoAction(SdrUndoAction* pUndo)
pUndoStack->pop_back();
}
if (pRedoStack!=NULL)
- pRedoStack->Clear();
+ pRedoStack->clear();
}
}
else