mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-24 11:19:59 +02:00
Qt: eat less cpu in ownerdata mode when imagelist is assigned without imageindexes per item. issue #29179
git-svn-id: trunk@50759 -
This commit is contained in:
parent
14381c96ad
commit
27a603e4fe
@ -11629,13 +11629,13 @@ var
|
||||
VHeight: Integer; // viewport height
|
||||
RowHeight: Integer;
|
||||
item: QListWidgetItemH;
|
||||
v: QVariantH;
|
||||
v, v2, v3: QVariantH;
|
||||
WStr: WideString;
|
||||
DataStr: WideString;
|
||||
ImgList: TCustomImageList;
|
||||
AImageIndex: TImageIndex;
|
||||
Bmp: TBitmap;
|
||||
v2: QVariantH;
|
||||
AIcon: QIconH;
|
||||
AOk: Boolean;
|
||||
begin
|
||||
|
||||
@ -11709,9 +11709,25 @@ begin
|
||||
if (AImageIndex < 0) then
|
||||
begin
|
||||
v2 := QVariant_create;
|
||||
QListWidgetItem_setData(item, QtListViewOwnerDataRole, v2);
|
||||
QVariant_destroy(v2);
|
||||
QListWidgetItem_setIcon(item, nil);
|
||||
AIcon := QIcon_create;
|
||||
try
|
||||
QListWidgetItem_data(item, v2, QtListViewOwnerDataRole);
|
||||
if not QVariant_isNull(v2) then
|
||||
begin
|
||||
v3 := QVariant_create;
|
||||
try
|
||||
QListWidgetItem_setData(item, QtListViewOwnerDataRole, v3);
|
||||
finally
|
||||
QVariant_destroy(v3);
|
||||
end;
|
||||
end;
|
||||
QListWidgetItem_icon(item, AIcon);
|
||||
if not QIcon_isNull(AIcon) then
|
||||
QListWidgetItem_setIcon(item, nil);
|
||||
finally
|
||||
QVariant_destroy(v2);
|
||||
QIcon_destroy(AIcon);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user