From f5c6391b2e3ef703bc4d4efd691f79f1605d5283 Mon Sep 17 00:00:00 2001 From: Bjoern Michaelsen Date: Fri, 23 Jan 2015 23:07:01 +0100 Subject: do not use manual iteration Change-Id: I1911b1dec2acd89c104c2b226fb212b7deb40c3b --- sw/source/core/view/vnew.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'sw') diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx index 31d0de4028dc..6a951a10c068 100644 --- a/sw/source/core/view/vnew.cxx +++ b/sw/source/core/view/vnew.cxx @@ -360,9 +360,19 @@ SwViewShell::~SwViewShell() if ( mpDoc ) { GetLayout()->DeRegisterShell( this ); - if(mpDoc->getIDocumentLayoutAccess().GetCurrentViewShell()==this) - mpDoc->getIDocumentLayoutAccess().SetCurrentViewShell( this->GetNext()!=this ? - this->GetNext() : nullptr ); + auto& rLayoutAccess(mpDoc->getIDocumentLayoutAccess()); + if(rLayoutAccess.GetCurrentViewShell()==this) + { + rLayoutAccess.SetCurrentViewShell(nullptr); + for(SwViewShell& rShell : GetRingContainer()) + { + if(&rShell != this) + { + rLayoutAccess.SetCurrentViewShell(&rShell); + break; + } + } + } } delete mpTmpRef; -- cgit