treeview: calling UpdateScrollbars on resizing, expand, collapse or selection move. Removed UpdateScrollbars from the darwing. Prevents Cocoa drawing (upside down) glitch. #34334

git-svn-id: trunk@61288 -
This commit is contained in:
dmitry 2019-05-24 15:26:49 +00:00
parent d4240fda12
commit 95b9f913d4

View File

@ -4783,7 +4783,7 @@ begin
Exclude(FStates,tvoFocusedPainting); Exclude(FStates,tvoFocusedPainting);
if (tvoAutoItemHeight in fOptions) then if (tvoAutoItemHeight in fOptions) then
UpdateDefaultItemHeight; UpdateDefaultItemHeight;
UpdateScrollbars; //UpdateScrollbars;
with Canvas do with Canvas do
begin begin
if IsCustomDrawn(dtControl, cdPrePaint) then if IsCustomDrawn(dtControl, cdPrePaint) then
@ -5422,6 +5422,7 @@ end;
procedure TCustomTreeView.Expand(Node: TTreeNode); procedure TCustomTreeView.Expand(Node: TTreeNode);
begin begin
UpdateScrollbars;
if Assigned(FOnExpanded) then FOnExpanded(Self, Node); if Assigned(FOnExpanded) then FOnExpanded(Self, Node);
end; end;
@ -5438,6 +5439,7 @@ end;
procedure TCustomTreeView.Collapse(Node: TTreeNode); procedure TCustomTreeView.Collapse(Node: TTreeNode);
begin begin
UpdateScrollbars;
if Assigned(FOnCollapsed) then FOnCollapsed(Self, Node); if Assigned(FOnCollapsed) then FOnCollapsed(Self, Node);
end; end;
@ -5771,6 +5773,8 @@ begin
end else end else
Selected := ANewNode; Selected := ANewNode;
ANewNode.MakeVisible; ANewNode.MakeVisible;
UpdateScrollbars;
end; end;
procedure TCustomTreeView.MouseLeave; procedure TCustomTreeView.MouseLeave;
@ -6011,6 +6015,7 @@ procedure TCustomTreeView.Resize;
begin begin
FStates:=FStates+[tvsScrollbarChanged,tvsBottomItemNeedsUpdate]; FStates:=FStates+[tvsScrollbarChanged,tvsBottomItemNeedsUpdate];
inherited Resize; inherited Resize;
UpdateScrollbars;
end; end;
function TCustomTreeView.GetSelectedChildAccessibleObject: TLazAccessibleObject; function TCustomTreeView.GetSelectedChildAccessibleObject: TLazAccessibleObject;