lcl: safer gdi handles typecasting

git-svn-id: trunk@15214 -
This commit is contained in:
paul 2008-05-23 11:36:55 +00:00
parent 394a35359a
commit 829ed3c0f8
5 changed files with 12 additions and 12 deletions

View File

@ -21,7 +21,7 @@
procedure TBrushHandleCache.RemoveItem(Item: TResourceCacheItem);
begin
DeleteObject(Item.Handle);
DeleteObject(HGIOBJ(Item.Handle));
inherited RemoveItem(Item);
end;
@ -179,7 +179,7 @@ begin
CacheItem.DecreaseRefCount;
FBrushHandleCached := False;
end else
DeleteObject(FReference.Handle);
DeleteObject(HGDIOBJ(FReference.Handle));
FReference._lclHandle := 0;
end;

View File

@ -130,7 +130,7 @@ var
begin
//DebugLn('[TCanvas.CreateBrush] ',Classname,' Self=',DbgS(Self)
// ,' Brush=',DbgS(Brush));
OldHandle := SelectObject(FHandle, Brush.Reference.Handle);
OldHandle := SelectObject(FHandle, HGDIOBJ(Brush.Reference.Handle));
//debugln('TCanvas.CreateBrush ',ClassName,' Self=',DbgS(Self),' OldHandle=',DbgS(OldHandle),8),' NewHandle=',DbgS(Brush.Handle),' FSavedBrushHandle=',DbgS(Cardinal(FSavedBrushHandle));
if (OldHandle <> Brush.Reference.Handle) and (FSavedBrushHandle=0) then
FSavedBrushHandle := OldHandle;
@ -175,7 +175,7 @@ const
begin
//DebugLn('[TCanvas.CreatePen] ',Classname,' Self=',DbgS(Self)
// ,' Pen=',DbgS(Pen));
OldHandle := SelectObject(FHandle, Pen.Reference.Handle);
OldHandle := SelectObject(FHandle, HGDIOBJ(Pen.Reference.Handle));
if (OldHandle <> Pen.Reference.Handle) and (FSavedPenHandle=0) then
FSavedPenHandle := OldHandle;
MoveTo(PenPos.X, PenPos.Y);
@ -196,7 +196,7 @@ begin
// The first time the font handle is selected, the default font handle
// is returned. Save this font handle to restore it later in DeselectHandles.
// The TFont will call DeleteObject itself, so we never need to call it.
OldHandle := SelectObject(FHandle, Font.Reference.Handle);
OldHandle := SelectObject(FHandle, HGDIOBJ(Font.Reference.Handle));
//DebugLn(['TCanvas.CreateFont OldHandle=',dbghex(OldHandle),' Font.Handle=',dbghex(Font.Handle)]);
if (OldHandle <> Font.Reference.Handle) and (FSavedFontHandle=0) then
FSavedFontHandle := OldHandle;
@ -211,7 +211,7 @@ procedure TCanvas.CreateRegion;
var
OldHandle: HRGN;
begin
OldHandle := SelectObject(FHandle, Region.Reference.Handle);
OldHandle := SelectObject(FHandle, HGDIOBJ(Region.Reference.Handle));
if (OldHandle <> Region.Reference.Handle) and (FSavedRegionHandle=0) then
FSavedRegionHandle := OldHandle;
Include(FState, csRegionValid);

View File

@ -38,7 +38,7 @@ end;
procedure TFontHandleCache.RemoveItem(Item: TResourceCacheItem);
begin
DeleteObject(Item.Handle);
DeleteObject(HGDIOBJ(Item.Handle));
inherited RemoveItem(Item);
end;
@ -1104,7 +1104,7 @@ begin
FontResourceCache.FindFont(FReference.Handle).DecreaseRefCount;
FFontHandleCached := False;
end else
DeleteObject(FReference.Handle);
DeleteObject(HGDIOBJ(FReference.Handle));
FReference._lclHandle := 0;
end;

View File

@ -21,9 +21,9 @@
procedure TPenHandleCache.RemoveItem(Item: TResourceCacheItem);
begin
if Item=nil then
if Item = nil then
RaiseGDBException('TPenHandleCache.RemoveItem');
DeleteObject(Item.Handle);
DeleteObject(HGDIOBJ(Item.Handle));
inherited RemoveItem(Item);
end;
@ -235,7 +235,7 @@ begin
PenResourceCache.FindItem(FReference.Handle).DecreaseRefCount;
FPenHandleCached := False;
end else
DeleteObject(FReference.Handle);
DeleteObject(HGDIOBJ(FReference.Handle));
FReference._lclHandle := 0;
end;

View File

@ -139,7 +139,7 @@ procedure TRegion.FreeReference;
begin
if not FRegionData.Reference.Allocated then Exit;
DeleteObject(FRegionData.Reference.Handle);
DeleteObject(HGDIOBJ(FRegionData.Reference.Handle));
FRegionData.Reference._lclHandle := 0;
end;