diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-12-16 15:04:09 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-12-16 15:12:19 -0500 |
commit | 70ce8987feeb06255eaeb7663bb076a8f4e0593f (patch) | |
tree | 75124860fb139f9ef63021a0ef5131ec93482607 /sc/source/ui/Accessibility | |
parent | 087c2fddce7b38d67c1168f9d28134819dac57b1 (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.cxx | 6 |
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(); |