mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-15 19:22:41 +02:00
gtk, gtk2: fix crash in SetSysColors
git-svn-id: trunk@34419 -
This commit is contained in:
parent
788c0a47d2
commit
ecdc478798
@ -9246,9 +9246,6 @@ end;
|
|||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function TGtkWidgetSet.SetSysColors(cElements: Integer; const lpaElements;
|
function TGtkWidgetSet.SetSysColors(cElements: Integer; const lpaElements;
|
||||||
const lpaRgbValues): Boolean;
|
const lpaRgbValues): Boolean;
|
||||||
type
|
|
||||||
TLongArray = array[0..0] of Longint;
|
|
||||||
PLongArray = ^TLongArray;
|
|
||||||
var
|
var
|
||||||
n: Integer;
|
n: Integer;
|
||||||
Element: LongInt;
|
Element: LongInt;
|
||||||
@ -9258,11 +9255,10 @@ begin
|
|||||||
|
|
||||||
for n := 0 to cElements - 1 do
|
for n := 0 to cElements - 1 do
|
||||||
begin
|
begin
|
||||||
Element := PLongArray(lpaElements)^[n];
|
Element := PInteger(lpaElements)[n];
|
||||||
if (Element > MAX_SYS_COLORS)
|
if (Element > MAX_SYS_COLORS) or (Element < 0) then
|
||||||
or (Element < 0)
|
Exit;
|
||||||
then Exit;
|
SysColorMap[Element] := PDword(@lpaRgbValues)[n];
|
||||||
SysColorMap[PLongArray(lpaElements)^[n]] := PLongArray(lpaRgbValues)^[n];
|
|
||||||
//DebugLn(Format('Trace:[TGtkWidgetSet.SetSysColor] Index %d (%8x) --> %8x', [PLongArray(lpaElements)^[n], SysColorMap[PLongArray(lpaElements)^[n]], PLongArray(lpaRgbValues)^[n]]));
|
//DebugLn(Format('Trace:[TGtkWidgetSet.SetSysColor] Index %d (%8x) --> %8x', [PLongArray(lpaElements)^[n], SysColorMap[PLongArray(lpaElements)^[n]], PLongArray(lpaRgbValues)^[n]]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -8625,9 +8625,6 @@ end;
|
|||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function TGtk2WidgetSet.SetSysColors(cElements: Integer; const lpaElements;
|
function TGtk2WidgetSet.SetSysColors(cElements: Integer; const lpaElements;
|
||||||
const lpaRgbValues): Boolean;
|
const lpaRgbValues): Boolean;
|
||||||
type
|
|
||||||
TLongArray = array[0..0] of Longint;
|
|
||||||
PLongArray = ^TLongArray;
|
|
||||||
var
|
var
|
||||||
n: Integer;
|
n: Integer;
|
||||||
Element: LongInt;
|
Element: LongInt;
|
||||||
@ -8637,11 +8634,10 @@ begin
|
|||||||
|
|
||||||
for n := 0 to cElements - 1 do
|
for n := 0 to cElements - 1 do
|
||||||
begin
|
begin
|
||||||
Element := PLongArray(lpaElements)^[n];
|
Element := PInteger(lpaElements)[n];
|
||||||
if (Element > MAX_SYS_COLORS)
|
if (Element > MAX_SYS_COLORS) or (Element < 0) then
|
||||||
or (Element < 0)
|
Exit;
|
||||||
then Exit;
|
SysColorMap[Element] := PDword(@lpaRgbValues)[n];
|
||||||
SysColorMap[PLongArray(lpaElements)^[n]] := PLongArray(lpaRgbValues)^[n];
|
|
||||||
//DebugLn(Format('Trace:[TGtk2WidgetSet.SetSysColor] Index %d (%8x) --> %8x', [PLongArray(lpaElements)^[n], SysColorMap[PLongArray(lpaElements)^[n]], PLongArray(lpaRgbValues)^[n]]));
|
//DebugLn(Format('Trace:[TGtk2WidgetSet.SetSysColor] Index %d (%8x) --> %8x', [PLongArray(lpaElements)^[n], SysColorMap[PLongArray(lpaElements)^[n]], PLongArray(lpaRgbValues)^[n]]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user