summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorRafael Dominguez <venccsralph@gmail.com>2013-03-26 20:44:44 -0430
committerMiklos Vajna <vmiklos@suse.cz>2013-04-08 07:37:24 +0000
commit951f7341f8449a79dc9e0f3bae5e4d650ecb3314 (patch)
tree9df3e549e24000cb731dd24ecdb548f1837e6702 /sfx2
parent2231019888a670198e481b9f5771c356e4a73ffe (diff)
Fix deleting templates through Template Manager.
Change-Id: I79c16eb264d957b510a8bf8ee2009e1f55190a0b Reviewed-on: https://gerrit.libreoffice.org/3239 Reviewed-by: Miklos Vajna <vmiklos@suse.cz> Tested-by: Miklos Vajna <vmiklos@suse.cz>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/doc/templatedlg.cxx17
1 files changed, 3 insertions, 14 deletions
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 6951df3b49fa..75449d0ddfc2 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -1079,30 +1079,19 @@ void SfxTemplateManagerDlg::OnTemplateDelete ()
else
{
sal_uInt16 nRegionItemId = maView->getCurRegionItemId();
+ std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelTemplates = maSelTemplates; //Avoid invalid iterators
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
- for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end();)
+ for (pIter = aSelTemplates.begin(); pIter != aSelTemplates.end(); ++pIter)
{
- if (maView->removeTemplate((*pIter)->mnId,nRegionItemId))
- maSelTemplates.erase(pIter++);
- else
+ if (!maView->removeTemplate((*pIter)->mnId,nRegionItemId))
{
if (aTemplateList.isEmpty())
aTemplateList = (*pIter)->maTitle;
else
aTemplateList = aTemplateList + "\n" + (*pIter)->maTitle;
-
- ++pIter;
}
}
-
- if (maSelTemplates.empty())
- {
- mpTemplateBar->SetItemDown(TBI_TEMPLATE_DELETE,false);
- mpTemplateBar->Show(false);
- mpViewBar->Show();
- mpActionBar->Show();
- }
}
if (!aTemplateList.isEmpty())