-
procedure TBrush.SetColor(Value: TColor); var BrushData: TBrushData; begin if (Value <> Color) or ((Style = bsClear) and (Style <> bsSolid)) then
Это даже интересней чем ляп в System.ObjAuto где GetVariantType на TypeInfo^.Kind = tkClass всегда возвращает varInteger даже в 64 битах.
-
просто среднее для гарантии выполнения последнего
-
Delphi4 procedure TBrush.SetColor(Value: TColor);
var
BrushData: TBrushData;
begin
GetData(BrushData);
BrushData.Color := Value;
if BrushData.Style = bsClear then BrushData.Style := bsSolid;
SetData(BrushData);
end; Delphi 2006 procedure TBrush.SetColor(Value: TColor);
var
BrushData: TBrushData;
begin
GetData(BrushData);
BrushData.Color := Value;
if BrushData.Style = bsClear then BrushData.Style := bsSolid;
SetData(BrushData);
end; Delphi 2010, Delphi XE5 procedure TBrush.SetColor(Value: TColor);
var
BrushData: TBrushData;
begin
if (Value <> Color) or ((Style = bsClear) and (Style <> bsSolid)) then
begin
BrushData := GetBrushData;
BrushData.Color := Value;
if BrushData.Style = bsClear then
BrushData.Style := bsSolid;
SetBrushData(BrushData);
if BrushData.RefCount = 0 then
BrushData.Free;
GetData(BrushData);
BrushData.Color := Value;
if BrushData.Style = bsClear then
BrushData.Style := bsSolid;
SetData(BrushData);
end;
end; Понабрали студентов...
-
да уж, тут зубр не валялся
-
У меня есть целая серия заметок про косяки найденные в VCL/RTL/FMX статическим анализом :)
-
>Понабрали студентов... Индусы наступают ;)
В XE6 тоже самое.
-
> Kerk © (11.04.17 18:01) [4] > У меня есть целая серия заметок про косяки найденные в VCL/RTL/FMX > статическим анализом :)
Так выложил бы, зачем нам мины замедленного действия. Я явные косяки всегда патчу, ну вот наподобие ошибки в GetVariantType, где в 64 битах при работе с макросами через ActiveScript будет AV, ибо адрес объекта четырьмя байтами обрезается, причем проявится только когда памяти по младшим адресам не останется.
-
Rouse_ © (12.04.17 08:45) [6]
Ты уже отослал в QC ? Номер репорта сюда выложи, плз, чтобы за него можно было проголосовать
-
-
> Игорь Шевченко © (12.04.17 10:37) [7] > Rouse_ © (12.04.17 08:45) [6] > > Ты уже отослал в QC ? Номер репорта сюда выложи, плз, чтобы > за него можно было проголосовать
Нет, я только недавно наткнулся, буквально в конце той недели, еще не успел, хотел Ромку попросить, да забыл :) Вечером как освобожусь попробую сделать.
-
Kerk © (12.04.17 11:49) [8]
Что интересно - большинство из того, что найдено тобой, относится к нововведениям. Старый код не так уж грязен.
-
> Старый код не так уж грязен. >
Хотелось бы знать что подразумевается под "старым кодом".
|