summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2013-12-16 15:04:09 -0500
committerMichael Meeks <michael.meeks@collabora.com>2014-06-10 16:33:59 +0100
commit0cd2d9de8e8d40b4f0400ee48188ac420d89ffc2 (patch)
treed56fa03b9eb15a2d1052252cfe761a2f46b733d9 /sc
parentfeceddf2ed6dc8c0aae5a43a09db8d096ca8e93d (diff)
Check IsRefMode() before accessing the ref range.
Else you'd end up with wrong ref range values. Also in selectAllAccessibleChildren(), the code is probably meant to select all sheet, rather than setting the top-left reference position twice in a row. Change-Id: I895896418476ffea0862e8df4e03f6efc4c91dd2
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
index 6c1e86c90eac..f610824ae2b6 100644
--- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
+++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
@@ -1159,7 +1159,7 @@ void SAL_CALL
ScViewData *pViewData = mpViewShell->GetViewData();
mpViewShell->InitRefMode( 0, 0, pViewData->GetTabNo(), SC_REFTYPE_REF );
pViewData->SetRefStart(0,0,pViewData->GetTabNo());
- pViewData->SetRefStart(MAXCOL,MAXROW,pViewData->GetTabNo());
+ pViewData->SetRefEnd(MAXCOL,MAXROW,pViewData->GetTabNo());
mpViewShell->UpdateRef(MAXCOL, MAXROW, pViewData->GetTabNo());
}
else
@@ -1595,6 +1595,10 @@ void ScAccessibleSpreadsheet::FireFirstCellFocus()
void ScAccessibleSpreadsheet::NotifyRefMode()
{
ScViewData *pViewData = mpViewShell->GetViewData();
+ if (!pViewData->IsRefMode())
+ // Not in reference mode. Bail out.
+ return;
+
sal_uInt16 nRefStartX =pViewData->GetRefStartX();
sal_Int32 nRefStartY=pViewData->GetRefStartY();
sal_uInt16 nRefEndX=pViewData->GetRefEndX();