summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-01-22 13:39:21 +0000
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-01-22 15:07:32 +0000
commit2b325c5c009c1a73345520c03ffbf03dc4600eff (patch)
tree9110ade4e58fa3eaad1f3cf70cf7510516e2f5ea
parentb27a4cc60f080e24f908e25f28d44c7de2269c29 (diff)
Resolves: fdo#88455 delete in empty data field crashes
Change-Id: I399bf576fe89283f839842959f06b8fe83f13b2b (cherry picked from commit 66df4d7d309ce237e4979d57b1069659ece1e3a5) Reviewed-on: https://gerrit.libreoffice.org/14107 Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r--sc/source/ui/dbgui/PivotLayoutTreeList.cxx15
1 files 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);
}