GTK2: fix range-check errors caused by ColorRef type change.

git-svn-id: trunk@29732 -
This commit is contained in:
juha 2011-03-05 16:09:10 +00:00
parent cbc1fddf56
commit a620aa9c33

View File

@ -1533,11 +1533,11 @@ end;
procedure AllocGDIColor(DC: hDC; GDIColor: PGDIColor); procedure AllocGDIColor(DC: hDC; GDIColor: PGDIColor);
var var
RGBColor : Longint; RGBColor : DWord;
begin begin
if not (cfColorAllocated in GDIColor^.ColorFlags) then if not (cfColorAllocated in GDIColor^.ColorFlags) then
begin begin
RGBColor := ColorToRGB(GDIColor^.ColorRef); RGBColor := TColor(ColorToRGB(TColor(GDIColor^.ColorRef)));
with GDIColor^.Color do with GDIColor^.Color do
begin begin
@ -8047,8 +8047,8 @@ var
Style: PGTKStyle; Style: PGTKStyle;
GC: PGDKGC; GC: PGDKGC;
Pixmap: PGDKPixmap; Pixmap: PGDKPixmap;
SysColor: TColorRef; SysColor: TColor;
BaseColor: TColorRef; BaseColor: TColor;
Red, Green, Blue: byte; Red, Green, Blue: byte;
begin begin
// Set defaults in case something goes wrong // Set defaults in case something goes wrong
@ -8057,9 +8057,9 @@ begin
GC := nil; GC := nil;
Pixmap := nil; Pixmap := nil;
SysColor := ColorToRGB(Color); SysColor := ColorToRGB(TColor(Color));
Result.Fill := GDK_Solid; Result.Fill := GDK_Solid;
RedGreenBlue(TColor(SysColor), Red, Green, Blue); RedGreenBlue(SysColor, Red, Green, Blue);
Result.foreground.Red:=gushort(Red) shl 8 + Red; Result.foreground.Red:=gushort(Red) shl 8 + Red;
Result.foreground.Green:=gushort(Green) shl 8 + Green; Result.foreground.Green:=gushort(Green) shl 8 + Green;
Result.foreground.Blue:=gushort(Blue) shl 8 + Blue; Result.foreground.Blue:=gushort(Blue) shl 8 + Blue;
@ -8067,7 +8067,7 @@ begin
{$IfDef Disable_GC_SysColors} {$IfDef Disable_GC_SysColors}
exit; exit;
{$EndIf} {$EndIf}
BaseColor := Color and $FF; BaseColor := TColor(Color and $FF);
case BaseColor of case BaseColor of
{These are WM/X defined, but might be possible to get {These are WM/X defined, but might be possible to get