From ce29d1b39b39f33919167f297daae5ccb22b793e Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Sun, 19 May 2019 12:26:01 +0200 Subject: [PATCH] Fix crash when drag'n dropping indexed column in table designer. Closes #385 --- source/table_editor.pas | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/table_editor.pas b/source/table_editor.pas index 99b3256b..2ff3fab0 100644 --- a/source/table_editor.pas +++ b/source/table_editor.pas @@ -1826,7 +1826,8 @@ begin end; if VT.GetNodeLevel(Node) = 1 then begin ColPos := Node.Index; - if Mode = dmBelow then Inc(ColPos); + if (Mode = dmAbove) and (ColPos > 0) then + Dec(ColPos); Node := Node.Parent; end else ColPos := Node.ChildCount; @@ -1879,6 +1880,10 @@ begin if treeIndexes.IsEditing then treeIndexes.EndEditNode; TblKey := FKeys[treeIndexes.FocusedNode.Parent.Index]; + if (NewIdx >= TblKey.Columns.Count) or (NewIdx < 0) then begin + MessageBeep(MB_ICONEXCLAMATION); + Exit; + end; TblKey.Columns.Move(treeIndexes.FocusedNode.Index, NewIdx); TblKey.SubParts.Move(treeIndexes.FocusedNode.Index, NewIdx); Modification(treeIndexes);