sd/source/ui/view/drviews4.cxx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
New commits: commit d633ee6bdf464de839f3bcea876f46f4b4e1e594 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Mon Mar 22 12:28:36 2021 +0100 Commit: Jan Holesovsky <ke...@collabora.com> CommitDate: Mon Mar 29 12:30:29 2021 +0200 impress: delete correct page when has multiple users When multiple users are editing the presentation few pages could be selected. Then the first selected page was removed instead of currently selected by user who executed the delete action. SlideSorterViewShell has better knowledge about selected slides by current view. Change-Id: Icb3157c8426027a7edc225249f8dd99270e9b2da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112883 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Jan Holesovsky <ke...@collabora.com> diff --git a/sd/source/ui/view/drviews4.cxx b/sd/source/ui/view/drviews4.cxx index be16871f630f..d6952d79685f 100644 --- a/sd/source/ui/view/drviews4.cxx +++ b/sd/source/ui/view/drviews4.cxx @@ -58,6 +58,7 @@ #include <svx/bmpmask.hxx> #include <LayerTabBar.hxx> +#include <SlideSorterViewShell.hxx> #include <svx/svditer.hxx> #include <navigatr.hxx> @@ -87,9 +88,15 @@ void DrawViewShell::DeleteActualPage() for (sal_uInt16 i = 0; i < nPageCount; i++) { pPage = GetDoc()->GetSdPage(i, mePageKind); - if(pPage->IsSelected()) + sal_uInt16 nPageIndex = maTabControl->GetPagePos(pPage->getPageId()); + + slidesorter::SlideSorterViewShell* pVShell + = slidesorter::SlideSorterViewShell::GetSlideSorter(GetViewShellBase()); + bool bUseSlideSorter = pVShell != nullptr; + + if((bUseSlideSorter && IsSelected(nPageIndex)) || (!bUseSlideSorter && pPage->IsSelected())) { - Reference< XDrawPage > xPage( xPages->getByIndex( maTabControl->GetPagePos(pPage->getPageId()) ), UNO_QUERY_THROW ); + Reference< XDrawPage > xPage( xPages->getByIndex( nPageIndex ), UNO_QUERY_THROW ); pagesToDelete.push_back(xPage); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits