From cb65b1fa2ac641d0cb4c589db2f4b3a4df0d6b07 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 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 --- 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 b6e21914f5f2..6cc1d1efa147 100644 --- a/sc/source/ui/condformat/condformatdlg.cxx +++ b/sc/source/ui/condformat/condformatdlg.cxx @@ -376,10 +376,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 v1.2.3