From c06f0d71e16ffe68836441d125a4c1eb50d5ccda Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 22 Jan 2015 13:39:21 +0000 Subject: Resolves: fdo#88455 delete in empty data field crashes Change-Id: I399bf576fe89283f839842959f06b8fe83f13b2b (cherry picked from commit 66df4d7d309ce237e4979d57b1069659ece1e3a5) Reviewed-on: https://gerrit.libreoffice.org/14108 Reviewed-by: Markus Mohrhard Reviewed-by: Lionel Elie Mamane Reviewed-by: Michael Meeks Tested-by: Michael Meeks --- sc/source/ui/dbgui/PivotLayoutTreeList.cxx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sc/source/ui/dbgui/PivotLayoutTreeList.cxx b/sc/source/ui/dbgui/PivotLayoutTreeList.cxx index 7f75da8968a5..dcfdae35b0be 100644 --- a/sc/source/ui/dbgui/PivotLayoutTreeList.cxx +++ b/sc/source/ui/dbgui/PivotLayoutTreeList.cxx @@ -38,7 +38,11 @@ void ScPivotLayoutTreeList::Setup(ScPivotLayoutDialog* pParent, SvPivotTreeListT bool ScPivotLayoutTreeList::DoubleClickHdl() { - ScItemValue* pCurrentItemValue = (ScItemValue*) GetCurEntry()->GetUserData(); + SvTreeListEntry* pEntry = GetCurEntry(); + if (!pEntry) + return false; + + ScItemValue* pCurrentItemValue = (ScItemValue*) pEntry->GetUserData(); ScPivotFuncData& rCurrentFunctionData = pCurrentItemValue->maFunctionData; if (mpParent->IsDataElement(rCurrentFunctionData.mnCol)) @@ -105,11 +109,12 @@ void ScPivotLayoutTreeList::KeyInput(const KeyEvent& rKeyEvent) vcl::KeyCode aCode = rKeyEvent.GetKeyCode(); sal_uInt16 nCode = aCode.GetCode(); - switch (nCode) + if (nCode == KEY_DELETE) { - case KEY_DELETE: - GetModel()->Remove(GetCurEntry()); - return; + const SvTreeListEntry* pEntry = GetCurEntry(); + if (pEntry) + GetModel()->Remove(pEntry); + return; } SvTreeListBox::KeyInput(rKeyEvent); } -- cgit v1.2.3