Blob Blame History Raw
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