瀏覽代碼

memory leak fix

Unknown 6 年之前
父節點
當前提交
1163b59658
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      bgraimagetheme.pas

+ 8 - 2
bgraimagetheme.pas

@@ -22,6 +22,7 @@ type
 
 
   public
   public
     constructor Create(AOwner: TComponent); override;
     constructor Create(AOwner: TComponent); override;
+    destructor Destroy; override;
     procedure LoadResources(AFileName: string);
     procedure LoadResources(AFileName: string);
     procedure DrawButton(Caption: string; State: TBGRAThemeButtonState;
     procedure DrawButton(Caption: string; State: TBGRAThemeButtonState;
       Focused: boolean; ARect: TRect; DestCanvas: TCanvas); override;
       Focused: boolean; ARect: TRect; DestCanvas: TCanvas); override;
@@ -54,10 +55,15 @@ begin
   BackgroundColor := clForm;
   BackgroundColor := clForm;
 end;
 end;
 
 
+destructor TBGRAImageTheme.Destroy;
+begin
+  FSliceScalingButton.Free;
+  inherited Destroy;
+end;
+
 procedure TBGRAImageTheme.LoadResources(AFileName: string);
 procedure TBGRAImageTheme.LoadResources(AFileName: string);
 begin
 begin
-  if Assigned(FSliceScalingButton) then
-    FSliceScalingButton.Free;
+  FreeAndNil(FSliceScalingButton);
   FSliceScalingButton := TBGRAMultiSliceScaling.Create(AFileName, 'Button');
   FSliceScalingButton := TBGRAMultiSliceScaling.Create(AFileName, 'Button');
 end;
 end;