diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-07-02 16:21:26 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-07-02 16:22:38 +0100 |
commit | c51d5706205cd0282c07d778ffac5f265c3eaf5f (patch) | |
tree | 2612df9fb15a22c89703f81f37e73010d80d597b /vcl | |
parent | cd5fd80ebfa91e6546a10bc5e84f588ad8762add (diff) |
Resolves: tdf#92467 crashes with empty history list on pressing down
regression from some 16->32 bit listbox limit changing
Change-Id: I045eeef935afed4154fe11bfd11916c2d6a722e9
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/control/ilstbox.cxx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx index a0ff8724fd62..fde4faa19bca 100644 --- a/vcl/source/control/ilstbox.cxx +++ b/vcl/source/control/ilstbox.cxx @@ -1613,8 +1613,9 @@ bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt ) ) { DBG_ASSERT( !mpEntryList->IsEntryPosSelected( nSelect ) || mbMulti, "ImplListBox: Selecting same Entry" ); - if( nSelect >= mpEntryList->GetEntryCount() ) - nSelect = mpEntryList->GetEntryCount()-1; + sal_Int32 nCount = mpEntryList->GetEntryCount(); + if (nSelect >= nCount) + nSelect = nCount ? nCount-1 : LISTBOX_ENTRY_NOTFOUND; bool bCurPosChange = (mnCurrentPos != nSelect); mnCurrentPos = nSelect; if(SelectEntries( nSelect, eLET, bShift, bCtrl, bCurPosChange)) @@ -1674,8 +1675,9 @@ void ImplListBoxWindow::SelectEntry( vcl::StringEntryIdentifier _entry ) // normalize OSL_ENSURE( nSelect < mpEntryList->GetEntryCount(), "ImplListBoxWindow::SelectEntry: how that?" ); - if( nSelect >= mpEntryList->GetEntryCount() ) - nSelect = mpEntryList->GetEntryCount()-1; + sal_Int32 nCount = mpEntryList->GetEntryCount(); + if (nSelect >= nCount) + nSelect = nCount ? nCount-1 : LISTBOX_ENTRY_NOTFOUND; // make visible ShowProminentEntry( nSelect ); |