View Issue Details

IDProjectCategoryView StatusLast Update
0025580LazarusLCLpublic2020-04-17 09:26
ReporterMartin Friebe Assigned ToJuha Manninen  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Platformw32OSwin 
Product Version1.3 (SVN) 
Summary0025580: ButtonPanel triggers unnnecessary UpdateSizes
DescriptionTCustomButtonPanel.Notification calls UpdateSize unconditionally.

This causes completely unnecessary calls, as Notification can be called for unrelated things

Open the View Units/Forms window, and hover over a button that has a hint.
This will create a hint, which is inserted into the owning form, and triggers Notification.
There is no need for UpdateSizes.


During any form creation or destruction this method can be called many times, and trigger a flood of extra UpdateSizes.
Additional Information
procedure TCustomButtonPanel.Notification(AComponent: TComponent;
  Operation: TOperation);
var
  btn: TPanelButton;
begin
  if Operation=opRemove
  then begin
    for btn := Low(btn) to High(btn) do
    begin
      if FButtons[btn] <> AComponent then Continue;
      FButtons[btn] := nil;
      Exclude(FShowButtons, btn);
    end;
  end;
  inherited Notification(AComponent, Operation);
  UpdateSizes;
end;
TagsNo tags attached.
Fixed in Revisionr63003
LazTarget-
WidgetsetWin32/Win64
Attached Files

Activities

Juha Manninen

2020-04-17 09:26

developer   ~0122187

Fixed, please test.

Issue History

Date Modified Username Field Change
2014-01-22 17:39 Martin Friebe New Issue
2014-01-23 16:39 Mattias Gaertner Assigned To => Mattias Gaertner
2014-01-23 16:39 Mattias Gaertner Status new => assigned
2020-04-17 09:21 Juha Manninen Assigned To Mattias Gaertner => Juha Manninen
2020-04-17 09:26 Juha Manninen Status assigned => resolved
2020-04-17 09:26 Juha Manninen Resolution open => fixed
2020-04-17 09:26 Juha Manninen Fixed in Revision => r63003
2020-04-17 09:26 Juha Manninen Widgetset Win32/Win64 => Win32/Win64
2020-04-17 09:26 Juha Manninen Note Added: 0122187