| commit | ecb00a0b88decfa754b72e0ecab239425a832ba4 | [log] |
|---|---|---|
| author | Noel Grandin <noel.grandin@collabora.co.uk> | Wed Jun 19 16:26:53 2019 +0200 |
| committer | Caolán McNamara <caolanm@redhat.com> | Wed Jun 19 21:49:50 2019 +0200 |
| tree | 64ea6aefc9056f5346cfffb0221deef552d9ec0a | |
| parent | e943d0e3dfd16308a0bdb0bc4b066d44b61aad67 [diff] |
tdf#126000 Crash deleting template regression from commit 72c191e046112df73c66be8dc8d1bec5a546fa60 Date: Wed Sep 19 12:11:38 2018 +0200 loplugin:useuniqueptr in ThumbnailView Change-Id: I9bdcec5c2f14b1bd33998041d4b2d8cd2f7be052 Reviewed-on: https://gerrit.libreoffice.org/74362 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 801bb2d4002cf2034315875440a6aee358951eb9) Reviewed-on: https://gerrit.libreoffice.org/74372 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 2343aee..7681786 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx
@@ -2142,12 +2142,16 @@ if ( nPos < mFilteredItemList.size() ) { // keep it alive until after we have deleted it from the filter item list std::unique_ptr<ThumbnailViewItem> xKeepAliveViewItem; // delete item from the thumbnail list for (size_t i = 0, n = mItemList.size(); i < n; ++i) for (auto it = mItemList.begin(); it != mItemList.end(); ++it) { if (mItemList[i]->mnId == nItemId) if ((*it)->mnId == nItemId) { mItemList.erase(mItemList.begin()+i); xKeepAliveViewItem = std::move(*it); mItemList.erase(it); break; } } @@ -2162,7 +2166,6 @@ maItemStateHdl.Call(*it); } delete *it; mFilteredItemList.erase( it ); mpStartSelRange = mFilteredItemList.end(); }