From 920ad92631734fea28178577f7ad10579fd3ca05 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 18 Dec 2014 15:24:05 +0000
Subject: [PATCH] Resolves: rhbz#1175142 nStarts ends up as an invalid -1
Change-Id: Ic67c5562d0e9936cd6a524ecd4f798aaf885a6e8
(cherry picked from commit 1cd9420755dc5d5435bf564a992b727c455a3d73)
(cherry picked from commit 4e8ae0f8187a9d3fa77d737f5de248cfd9b0ed55)
---
vcl/source/control/combobox.cxx | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index a5810f2..8620102 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -297,7 +297,7 @@ IMPL_LINK( ComboBox, ImplAutocompleteHdl, Edit*, pEdit )
{
OUString aFullText = pEdit->GetText();
OUString aStartText = aFullText.copy( 0, (sal_Int32)aSel.Max() );
- sal_Int32 nStart = mpImplLB->GetCurrentPos();
+ sal_Int32 nStart = mpImplLB->GetCurrentPos();
if ( nStart == LISTBOX_ENTRY_NOTFOUND )
nStart = 0;
@@ -308,7 +308,10 @@ IMPL_LINK( ComboBox, ImplAutocompleteHdl, Edit*, pEdit )
else if ( eAction == AUTOCOMPLETE_TABBACKWARD )
{
bForward = false;
- nStart = nStart ? nStart - 1 : mpImplLB->GetEntryList()->GetEntryCount()-1;
+ if (nStart)
+ nStart = nStart - 1;
+ else if (mpImplLB->GetEntryList()->GetEntryCount())
+ nStart = mpImplLB->GetEntryList()->GetEntryCount()-1;
}
sal_Int32 nPos = LISTBOX_ENTRY_NOTFOUND;
--
1.9.3