@@ -913,7 +913,6 @@ TBaseVirtualTree = class abstract(TVTBaseAncestor)
913
913
function IsStored_Indent: Boolean;
914
914
function IsStored_Margin: Boolean;
915
915
function IsStored_TextMargin: Boolean;
916
- procedure SetOnCompareNodes(const Value: TVTCompareEvent);
917
916
protected
918
917
FFontChanged: Boolean; // flag for keeping informed about font changes in the off screen buffer // [IPK] - private to protected
919
918
procedure AutoScale(); virtual;
@@ -1310,7 +1309,7 @@ TBaseVirtualTree = class abstract(TVTBaseAncestor)
1310
1309
property OnColumnWidthDblClickResize: TVTColumnWidthDblClickResizeEvent read FOnColumnWidthDblClickResize
1311
1310
write FOnColumnWidthDblClickResize;
1312
1311
property OnColumnWidthTracking: TVTColumnWidthTrackingEvent read FOnColumnWidthTracking write FOnColumnWidthTracking;
1313
- property OnCompareNodes: TVTCompareEvent read FOnCompareNodes write SetOnCompareNodes ;
1312
+ property OnCompareNodes: TVTCompareEvent read FOnCompareNodes write FOnCompareNodes ;
1314
1313
property OnCreateDataObject: TVTCreateDataObjectEvent read FOnCreateDataObject write FOnCreateDataObject;
1315
1314
property OnCreateDragManager: TVTCreateDragManagerEvent read FOnCreateDragManager write FOnCreateDragManager;
1316
1315
property OnCreateEditor: TVTCreateEditorEvent read FOnCreateEditor write FOnCreateEditor;
@@ -5659,12 +5658,6 @@ procedure TBaseVirtualTree.SetOffsetY(const Value: TDimension);
5659
5658
5660
5659
//----------------------------------------------------------------------------------------------------------------------
5661
5660
5662
- procedure TBaseVirtualTree.SetOnCompareNodes(const Value: TVTCompareEvent);
5663
- begin
5664
- FOnCompareNodes := Value;
5665
- Self.TreeOptions.AutoOptions := TreeOptions.AutoOptions + [TVTAutoOption.toAutoSort]; // See issue #1146
5666
- end;
5667
-
5668
5661
procedure TBaseVirtualTree.SetOnPrepareButtonImages(const Value: TVTPrepareButtonImagesEvent);
5669
5662
begin
5670
5663
FOnPrepareButtonImages := Value;
@@ -22533,6 +22526,8 @@ procedure TBaseVirtualTree.SortTree(Column: TColumnIndex; Direction: TSortDirect
22533
22526
begin
22534
22527
if RootNode.TotalCount <= 2 then
22535
22528
Exit;//Nothing to do if there are one or zero nodes. RootNode.TotalCount is 1 if there are no nodes in the treee as the root node counts too here.
22529
+ if not Assigned(OnCompareNodes) then
22530
+ exit;// no sorting will take place without an event handler. Issue #1146
22536
22531
22537
22532
if not Assigned(FRoot.FirstChild) then
22538
22533
Exit; // Sorting should not initialize the root nodes
0 commit comments