diff options
author | Steve Yin <steve_y@apache.org> | 2014-01-06 07:40:48 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-01-06 10:46:29 +0000 |
commit | 296cd762c9730ead75767cf7bbc5f5845f18168b (patch) | |
tree | 52061e28f94569f6434e117de17523b4590143fe /sc/source/ui/view | |
parent | 91bbb55f2877aada6f4bee966185287eeb3aaadd (diff) |
Resolves: #i123629# [ia2] Invalid focus event fired after editing cell
Some Coverity issues fixes
(cherry picked from commit 5478c54be2de808663565e53250c8a4055b390c9)
Conflicts:
sc/source/ui/inc/AccessibleCell.hxx
sc/source/ui/inc/tabvwsh.hxx
sc/source/ui/view/cellsh4.cxx
sc/source/ui/view/tabvwsh4.cxx
Rolled back some coverity issue fixes for mac build
(cherry picked from commit 15e6a8263ae6181ac4912b94af8cb63adc34a86d)
Conflicts:
sc/source/ui/inc/AccessibleCell.hxx
a727d3c7f819c8d0082a9fb017351d5307877fa6
Change-Id: I03b63c655bd55e5fb92d95490eaa4bb081b8ee7d
Diffstat (limited to 'sc/source/ui/view')
-rw-r--r-- | sc/source/ui/view/cellsh4.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/view/tabview3.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwsh4.cxx | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/sc/source/ui/view/cellsh4.cxx b/sc/source/ui/view/cellsh4.cxx index 945909c349ad..ffeaad0d72d8 100644 --- a/sc/source/ui/view/cellsh4.cxx +++ b/sc/source/ui/view/cellsh4.cxx @@ -119,6 +119,12 @@ void ScCellShell::ExecuteCursor( SfxRequest& rReq ) // once extra, so that the cursor will not be painted too often with ExecuteInputDirect: pTabViewShell->HideAllCursors(); + // #i123629# + if( pTabViewShell->GetCurObjectSelectionType() == OST_Editing ) + pTabViewShell->SetForceFocusOnCurCell(sal_True); + else + pTabViewShell->SetForceFocusOnCurCell(sal_False); + //OS: once for all should do, however! pTabViewShell->ExecuteInputDirect(); switch ( nSlotId ) diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index cedb9bab0194..57dfa8c5eab3 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -992,6 +992,10 @@ void ScTabView::MoveCursorAbs( SCsCOL nCurX, SCsROW nCurY, ScFollowMode eMode, if (!bKeepOld) aViewData.ResetOldCursor(); + // #i123629# + if( aViewData.GetViewShell()->GetForceFocusOnCurCell() ) + aViewData.GetViewShell()->SetForceFocusOnCurCell( !ValidColRow(nCurX, nCurY) ); + if (nCurX < 0) nCurX = 0; if (nCurY < 0) nCurY = 0; if (nCurX > MAXCOL) nCurX = MAXCOL; diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index 2de2b0cbc7b9..0421bb70b3ef 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -1509,6 +1509,7 @@ bool ScTabViewShell::KeyInput( const KeyEvent &rKeyEvent ) bReadOnly(false), \ pScSbxObject(NULL), \ bChartAreaValid(false), \ + bForceFocusOnCurCell(false),\ nCurRefDlgId(0), \ pAccessibilityBroadcaster(NULL), \ mbInSwitch(false) |