From 226838107364db2139363ea9617b06f74a13e122 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 18 Jan 2017 14:11:11 +0000 Subject: Resolves: tdf#105411 remove from entries before dispose MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cause on dispose all the state change callbacks are called, and all of the conditional formatting code assumes that if there's an entry in the entries, that its not an empty disposed one Change-Id: I50d85128ba884a0719959f2d6e7ae83d6fb3431c (cherry picked from commit 2fb220093f7178f75ebd582bbcd956c1ee7e03db) Reviewed-on: https://gerrit.libreoffice.org/33476 Reviewed-by: Eike Rathke Tested-by: Eike Rathke (cherry picked from commit cb65b1fa2ac641d0cb4c589db2f4b3a4df0d6b07) Reviewed-on: https://gerrit.libreoffice.org/33482 Reviewed-by: Markus Mohrhard Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- sc/source/ui/condformat/condformatdlg.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx index 8e952d7c35de..37bf0b2bb4aa 100644 --- a/sc/source/ui/condformat/condformatdlg.cxx +++ b/sc/source/ui/condformat/condformatdlg.cxx @@ -380,10 +380,11 @@ IMPL_LINK_NOARG( ScCondFormatList, RemoveBtnHdl, Button*, void ) { for(EntryContainer::iterator itr = maEntries.begin(); itr != maEntries.end(); ++itr) { - if((*itr)->IsSelected()) + auto widget = *itr; + if (widget->IsSelected()) { - itr->disposeAndClear(); maEntries.erase(itr); + widget.disposeAndClear(); break; } } -- cgit