diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-01-22 13:39:21 +0000 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-01-22 15:08:15 +0000 |
commit | 38a2bda69b5052a72e1489f23b06dabf55062d83 (patch) | |
tree | 834e47df2429d4a140bec9f0608c9c950e2bd2b1 | |
parent | 56e9bf6c459a0cbd8b373047d960cd4d68a526e4 (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.cxx | 15 |
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); } |