[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - wizards/source

Jean-Pierre Ledure jp at ledure.be
Mon Feb 2 11:35:28 PST 2015


 wizards/source/access2base/Control.xba |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

New commits:
commit f1d572d1518fcfc83c0302c2a06f7de8bf224b5e
Author: Jean-Pierre Ledure <jp at ledure.be>
Date:   Sun Feb 1 15:19:08 2015 +0100

    Access2Base - Patch#2 Bug in Control.RemoveItem
    
    Removing last item of a Listbox produces an "Index out of range" run-time error
    Bug reported in user forum https://forum.openoffice.org/en/forum/viewtopic.php?f=47&t=75008
    
    Change-Id: I713e7b6c29286c3774652a9a06c9392fdbe858fd
    Reviewed-on: https://gerrit.libreoffice.org/14271
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/wizards/source/access2base/Control.xba b/wizards/source/access2base/Control.xba
index 7e15a1d..0575732 100644
--- a/wizards/source/access2base/Control.xba
+++ b/wizards/source/access2base/Control.xba
@@ -682,21 +682,24 @@ Dim vRowSource() As Variant, iCount As Integer, i As Integer, j As integer, bFou
 					For j = i To iCount - 1
 						vRowSource(j) = vRowSource(j + 1)
 					Next j
-					ReDim Preserve vRowSource(0 To iCount - 1)
 					bFound = True
 					Exit For	'	Remove only 1st occurrence of string
 				End If
 			Next i
 		Case Else
 			If pvIndex < 0 Or pvIndex > iCount Then Goto Error_Index
-			bFound = True
 			For i = pvIndex To iCount - 1
 				vRowSource(i) = vRowSource(i + 1)
 			Next i
-			ReDim Preserve vRowSource(0 To iCount - 1)
+			bFound = True
 		End Select
 			
 	If bFound Then
+		If iCount > 0 Then			'	https://forum.openoffice.org/en/forum/viewtopic.php?f=47&t=75008
+			ReDim Preserve vRowSource(0 To iCount - 1)
+		Else
+			vRowSource = Array()
+		End If
 		If _ParentType <> CTLPARENTISDIALOG Then
 			ControlModel.ListSource = vRowSource()
 		End If


More information about the Libreoffice-commits mailing list