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:08:15 +0000
commit38a2bda69b5052a72e1489f23b06dabf55062d83 (patch)
tree834e47df2429d4a140bec9f0608c9c950e2bd2b1
parent56e9bf6c459a0cbd8b373047d960cd4d68a526e4 (diff)
Resolves: fdo#88455 delete in empty data field crashes
Change-Id: I399bf576fe89283f839842959f06b8fe83f13b2b (cherry picked from commit 66df4d7d309ce237e4979d57b1069659ece1e3a5) Reviewed-on: https://gerrit.libreoffice.org/14109 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 32c55ce6b2f5..4c6121e73dbb 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)
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);
}