mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-26 11:17:57 +08:00
Avoid AVs when index lists are in editing mode and user clicks "Remove" or "Clear" button. Fixes issue #1733.
This commit is contained in:
@ -1381,6 +1381,8 @@ var
|
|||||||
NewSelectNode: PVirtualNode;
|
NewSelectNode: PVirtualNode;
|
||||||
begin
|
begin
|
||||||
// Remove index or part
|
// Remove index or part
|
||||||
|
if treeIndexes.IsEditing then
|
||||||
|
treeIndexes.CancelEditNode;
|
||||||
case treeIndexes.GetNodeLevel(treeIndexes.FocusedNode) of
|
case treeIndexes.GetNodeLevel(treeIndexes.FocusedNode) of
|
||||||
0: begin
|
0: begin
|
||||||
idx := treeIndexes.FocusedNode.Index;
|
idx := treeIndexes.FocusedNode.Index;
|
||||||
@ -1952,6 +1954,8 @@ var
|
|||||||
Key: TForeignKey;
|
Key: TForeignKey;
|
||||||
begin
|
begin
|
||||||
// Remove a foreign key
|
// Remove a foreign key
|
||||||
|
if listForeignKeys.IsEditing then
|
||||||
|
listForeignKeys.CancelEditNode;
|
||||||
Key := FForeignKeys[listForeignKeys.FocusedNode.Index];
|
Key := FForeignKeys[listForeignKeys.FocusedNode.Index];
|
||||||
if not Key.Added then
|
if not Key.Added then
|
||||||
DeletedForeignKeys.Add(Key.KeyName);
|
DeletedForeignKeys.Add(Key.KeyName);
|
||||||
@ -1966,6 +1970,8 @@ var
|
|||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
// Clear all foreign keys
|
// Clear all foreign keys
|
||||||
|
if listForeignKeys.IsEditing then
|
||||||
|
listForeignKeys.CancelEditNode;
|
||||||
for i:=FForeignKeys.Count-1 downto 0 do begin
|
for i:=FForeignKeys.Count-1 downto 0 do begin
|
||||||
if not FForeignKeys[i].Added then
|
if not FForeignKeys[i].Added then
|
||||||
DeletedForeignKeys.Add(FForeignKeys[i].KeyName);
|
DeletedForeignKeys.Add(FForeignKeys[i].KeyName);
|
||||||
|
Reference in New Issue
Block a user