summaryrefslogtreecommitdiff
path: root/sc/source/ui/Accessibility
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-05-26 14:18:03 +0100
committerMichael Stahl <Michael.Stahl@cib.de>2019-05-27 11:33:12 +0200
commite2df8f0245e93d7342fa6f65693b0d97639c3dae (patch)
tree6cab7ae005a45d25f0ec763e4f3ec31321be1b96 /sc/source/ui/Accessibility
parent0fe8175429ef0ee4cfeea718f99f375fb112496f (diff)
Resolves: rhbz#1713827 protect against null ViewShell
like SfxHintId::ScAccCursorChanged does Change-Id: I75ab2da866a345d817e39536ac966d3edf24b90a Reviewed-on: https://gerrit.libreoffice.org/72980 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Diffstat (limited to 'sc/source/ui/Accessibility')
-rw-r--r--sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx55
1 files changed, 29 insertions, 26 deletions
diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
index 269379812e6f..adbf5d041d0d 100644
--- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
+++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
@@ -651,35 +651,38 @@ void ScAccessibleSpreadsheet::Notify( SfxBroadcaster& rBC, const SfxHint& rHint
CommitTableModelChange(maRange.aStart.Row(), maRange.aStart.Col(), maRange.aEnd.Row(), maRange.aEnd.Col(), AccessibleTableModelChangeType::UPDATE);
else
mbDelIns = false;
- ScViewData& rViewData = mpViewShell->GetViewData();
- ScAddress aNewCell = rViewData.GetCurPos();
- if( maActiveCell == aNewCell)
+ if (mpViewShell)
{
- ScDocument* pScDoc= GetDocument(mpViewShell);
- if (pScDoc)
+ ScViewData& rViewData = mpViewShell->GetViewData();
+ ScAddress aNewCell = rViewData.GetCurPos();
+ if( maActiveCell == aNewCell)
{
- OUString valStr(pScDoc->GetString(aNewCell.Col(),aNewCell.Row(),aNewCell.Tab()));
- if(m_strCurCellValue != valStr)
- {
- AccessibleEventObject aEvent;
- aEvent.EventId = AccessibleEventId::VALUE_CHANGED;
- mpAccCell->CommitChange(aEvent);
- m_strCurCellValue=valStr;
- }
- OUString tabName;
- pScDoc->GetName( maActiveCell.Tab(), tabName );
- if( m_strOldTabName != tabName )
+ ScDocument* pScDoc= GetDocument(mpViewShell);
+ if (pScDoc)
{
- AccessibleEventObject aEvent;
- aEvent.EventId = AccessibleEventId::NAME_CHANGED;
- OUString sOldName(ScResId(STR_ACC_TABLE_NAME));
- sOldName = sOldName.replaceFirst("%1", m_strOldTabName);
- aEvent.OldValue <<= sOldName;
- OUString sNewName(ScResId(STR_ACC_TABLE_NAME));
- sOldName = sNewName.replaceFirst("%1", tabName);
- aEvent.NewValue <<= sNewName;
- CommitChange( aEvent );
- m_strOldTabName = tabName;
+ OUString valStr(pScDoc->GetString(aNewCell.Col(),aNewCell.Row(),aNewCell.Tab()));
+ if(m_strCurCellValue != valStr)
+ {
+ AccessibleEventObject aEvent;
+ aEvent.EventId = AccessibleEventId::VALUE_CHANGED;
+ mpAccCell->CommitChange(aEvent);
+ m_strCurCellValue=valStr;
+ }
+ OUString tabName;
+ pScDoc->GetName( maActiveCell.Tab(), tabName );
+ if( m_strOldTabName != tabName )
+ {
+ AccessibleEventObject aEvent;
+ aEvent.EventId = AccessibleEventId::NAME_CHANGED;
+ OUString sOldName(ScResId(STR_ACC_TABLE_NAME));
+ sOldName = sOldName.replaceFirst("%1", m_strOldTabName);
+ aEvent.OldValue <<= sOldName;
+ OUString sNewName(ScResId(STR_ACC_TABLE_NAME));
+ sOldName = sNewName.replaceFirst("%1", tabName);
+ aEvent.NewValue <<= sNewName;
+ CommitChange( aEvent );
+ m_strOldTabName = tabName;
+ }
}
}
}