[Libreoffice-commits] core.git: wizards/source

Jean-Pierre Ledure jp at ledure.be
Sat Jan 31 07:54:42 PST 2015


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

New commits:
commit 602f5010bc41f71d29695a348d56b6d953865c2f
Author: Jean-Pierre Ledure <jp at ledure.be>
Date:   Sat Jan 31 16:50:41 2015 +0100

    Access2Base - Bug in Control.RemoveItem
    
    Removing last item of a Listbox produces an "Index out of rande" run-time error
    Bug reported in user forum https://forum.openoffice.org/en/forum/viewtopic.php?f=47&t=75008
    
    Change-Id: I4bf790f8fee1f88def580dee7bac708b5620fbed

diff --git a/wizards/source/access2base/Control.xba b/wizards/source/access2base/Control.xba
index 66705d9..d150c87 100644
--- a/wizards/source/access2base/Control.xba
+++ b/wizards/source/access2base/Control.xba
@@ -690,21 +690,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