From 0201dd32c986fd5e28053472631e6c3c9a275261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=BDeljan=20Rikalo?= Date: Wed, 20 Nov 2024 22:49:25 +0100 Subject: [PATCH] Qt5, Qt6: small optimization, mark vBrush,vPen and vBackroundBrush as shared. --- lcl/interfaces/qt5/qtobjects.pas | 9 ++++++--- lcl/interfaces/qt6/qtobjects.pas | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lcl/interfaces/qt5/qtobjects.pas b/lcl/interfaces/qt5/qtobjects.pas index 400379bb30..9bab090e7d 100644 --- a/lcl/interfaces/qt5/qtobjects.pas +++ b/lcl/interfaces/qt5/qtobjects.pas @@ -2358,15 +2358,18 @@ begin vBrush := TQtBrush.Create(False); vBrush.Owner := Self; + vBrush.FShared := True; vPen := TQtPen.Create(False); vPen.Owner := Self; + vPen.FShared := True; vRegion := TQtRegion.Create(False); vRegion.Owner := Self; vBackgroundBrush := TQtBrush.Create(False); vBackgroundBrush.Owner := Self; + vBackgroundBrush.FShared := True; vTextColor := ColorToRGB(clWindowText); @@ -2379,9 +2382,9 @@ begin //vFont.Widget := nil; FreeAndNil(vFont); //WriteLn('Destroying brush: ', PtrUInt(vBrush), ' ', ClassName, ' ', PtrUInt(Self)); - vBrush.FHandle := nil; + //vBrush.FHandle := nil; FreeAndNil(vBrush); - vPen.FHandle := nil; + // vPen.FHandle := nil; FreeAndNil(vPen); if vRegion.FHandle <> nil then begin @@ -2389,7 +2392,7 @@ begin vRegion.FHandle := nil; end; FreeAndNil(vRegion); - vBackgroundBrush.FHandle := nil; + // vBackgroundBrush.FHandle := nil; FreeAndNil(vBackgroundBrush); end; diff --git a/lcl/interfaces/qt6/qtobjects.pas b/lcl/interfaces/qt6/qtobjects.pas index 3f8e6714e2..b4efa8b107 100644 --- a/lcl/interfaces/qt6/qtobjects.pas +++ b/lcl/interfaces/qt6/qtobjects.pas @@ -2423,15 +2423,18 @@ begin vBrush := TQtBrush.Create(False); vBrush.Owner := Self; + vBrush.FShared := True; vPen := TQtPen.Create(False); vPen.Owner := Self; + vPen.FShared := True; vRegion := TQtRegion.Create(False); vRegion.Owner := Self; vBackgroundBrush := TQtBrush.Create(False); vBackgroundBrush.Owner := Self; + vBackgroundBrush.FShared := True; vTextColor := ColorToRGB(clWindowText); @@ -2444,9 +2447,9 @@ begin //vFont.Widget := nil; FreeAndNil(vFont); //WriteLn('Destroying brush: ', PtrUInt(vBrush), ' ', ClassName, ' ', PtrUInt(Self)); - vBrush.FHandle := nil; + //vBrush.FHandle := nil; FreeAndNil(vBrush); - vPen.FHandle := nil; + // vPen.FHandle := nil; FreeAndNil(vPen); if vRegion.FHandle <> nil then begin @@ -2454,7 +2457,7 @@ begin vRegion.FHandle := nil; end; FreeAndNil(vRegion); - vBackgroundBrush.FHandle := nil; + // vBackgroundBrush.FHandle := nil; FreeAndNil(vBackgroundBrush); end;