summaryrefslogtreecommitdiff
path: root/sc/source/ui/Accessibility
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2013-12-16 15:04:09 -0500
committerKohei Yoshida <kohei.yoshida@collabora.com>2013-12-16 15:12:19 -0500
commit70ce8987feeb06255eaeb7663bb076a8f4e0593f (patch)
tree75124860fb139f9ef63021a0ef5131ec93482607 /sc/source/ui/Accessibility
parent087c2fddce7b38d67c1168f9d28134819dac57b1 (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/source/ui/Accessibility')
-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 40d2d3985d7a..5fa574006910 100644
--- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
+++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
@@ -1131,7 +1131,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
@@ -1559,6 +1559,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();