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:07:32 +0000 |
commit | 2b325c5c009c1a73345520c03ffbf03dc4600eff (patch) | |
tree | 9110ade4e58fa3eaad1f3cf70cf7510516e2f5ea | |
parent | b27a4cc60f080e24f908e25f28d44c7de2269c29 (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.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 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); } |