"nilify" parameter in RemoveEventHandler functions, pointer has become invalid anyway

git-svn-id: trunk@8471 -
This commit is contained in:
micha 2006-01-08 13:50:38 +00:00
parent 20ed86f4ee
commit 1223f44069
8 changed files with 27 additions and 27 deletions

View File

@ -101,19 +101,13 @@ end;
procedure TAsyncProcess.UnhookProcessHandle;
begin
if FProcessHandler <> nil then
begin
RemoveProcessEventHandler(FProcessHandler);
FProcessHandler := nil;
end;
end;
procedure TAsyncProcess.UnhookPipeHandle;
begin
if FPipeHandler <> nil then
begin
RemovePipeEventHandler(FPipeHandler);
FPipeHandler := nil;
end;
end;
procedure TAsyncProcess.HandlePipeInput(AData: PtrInt; AReasons: TPipeReasons);

View File

@ -562,15 +562,15 @@ begin
Result := false;
end;
procedure TWidgetSet.RemoveEventHandler(AHandler: PEventHandler);
procedure TWidgetSet.RemoveEventHandler(var AHandler: PEventHandler);
begin
end;
procedure TWidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandler);
procedure TWidgetSet.RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
begin
end;
procedure TWidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
procedure TWidgetSet.RemovePipeEventHandler(var AHandler: PPipeEventHandler);
begin
end;

View File

@ -393,17 +393,17 @@ begin
Result := WidgetSet.ReleaseDesignerDC(hWnd, DC);
end;
procedure RemoveEventHandler(AHandler: PEventHandler);
procedure RemoveEventHandler(var AHandler: PEventHandler);
begin
WidgetSet.RemoveEventHandler(AHandler);
end;
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler);
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
begin
WidgetSet.RemoveProcessEventHandler(AHandler);
end;
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler);
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler);
begin
WidgetSet.RemovePipeEventHandler(AHandler);
end;

View File

@ -107,9 +107,9 @@ function RadialPie(DC: HDC; x,y,width,height,sx,sy,ex,ey : Integer): Boolean; {$
function RadialPieWithAngles(DC: HDC; X,Y,Width,Height,Angle1,Angle2: Integer): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function RegroupMenuItem(hndMenu: HMENU; GroupIndex: integer): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function ReleaseDesignerDC(hWnd: HWND; DC: HDC): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
procedure RemoveEventHandler(AHandler: PEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
procedure RemoveEventHandler(var AHandler: PEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function ReplaceBitmapMask(var Image, Mask: HBitmap; NewMask: HBitmap): boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function RequestInput(const InputCaption, InputPrompt : String; MaskInput : Boolean; var Value : String) : Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}

View File

@ -61,7 +61,7 @@ begin
Result := lEventHandler;
end;
procedure TGtkWidgetSet.RemoveEventHandler(AHandler: PEventHandler);
procedure TGtkWidgetSet.RemoveEventHandler(var AHandler: PEventHandler);
var
lEventHandler: PWaitHandleEventHandler absolute AHandler;
begin
@ -74,6 +74,7 @@ begin
if lEventHandler^.NextHandler <> nil then
lEventHandler^.NextHandler^.PrevHandler := lEventHandler^.PrevHandler;
Dispose(lEventHandler);
AHandler := nil;
end;
procedure TGtkWidgetSet.SetEventHandlerFlags(AHandler: PEventHandler; NewFlags: dword);
@ -124,13 +125,14 @@ begin
lPipeEventInfo^.OnEvent(lPipeEventInfo^.UserData, lReasons);
end;
procedure TGtkWidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
procedure TGtkWidgetSet.RemovePipeEventHandler(var AHandler: PPipeEventHandler);
var
lPipeEventInfo: PPipeEventInfo absolute AHandler;
begin
if AHandler = nil then exit;
RemoveEventHandler(lPipeEventInfo^.Handler);
Dispose(lPipeEventInfo);
AHandler := nil;
end;
function TGtkWidgetSet.AddProcessEventHandler(AHandle: THandle;
@ -151,7 +153,7 @@ begin
Result := lHandler;
end;
procedure TGtkWidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandler);
procedure TGtkWidgetSet.RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
var
lHandler: PChildSignalEventHandler absolute AHandler;
begin
@ -163,6 +165,7 @@ begin
if lHandler^.NextHandler <> nil then
lHandler^.NextHandler^.PrevHandler := lHandler^.PrevHandler;
Dispose(lHandler);
AHandler := nil;
end;
{------------------------------------------------------------------------------

View File

@ -50,9 +50,9 @@ function GetListBoxItemRect(ListBox: TComponent; Index: integer; var ARect: TRec
function IntfSendsUTF8KeyPress: boolean; override;
procedure RemoveEventHandler(AHandler: PEventHandler); override;
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler); override;
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler); override;
procedure RemoveEventHandler(var AHandler: PEventHandler); override;
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override;
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); override;
function ReplaceBitmapMask(var Image, Mask: HBitmap; NewMask: HBitmap): boolean; override;
procedure SetEventHandlerFlags(AHandler: PEventHandler; NewFlags: dword); override;

View File

@ -55,7 +55,7 @@ begin
Result := lListIndex;
end;
procedure TWin32WidgetSet.RemoveEventHandler(AHandler: PEventHandler);
procedure TWin32WidgetSet.RemoveEventHandler(var AHandler: PEventHandler);
var
lListIndex: pdword absolute AHandler;
I: dword;
@ -76,6 +76,7 @@ begin
end;
Dec(FWaitHandleCount);
Dispose(lListIndex);
AHandler := nil;
end;
function TWin32WidgetSet.AddPipeEventHandler(AHandle: THandle;
@ -96,7 +97,7 @@ begin
Result := lHandler;
end;
procedure TWin32WidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
procedure TWin32WidgetSet.RemovePipeEventHandler(var AHandler: PPipeEventHandler);
var
lHandler: PPipeEventInfo absolute AHandler;
begin
@ -108,6 +109,7 @@ begin
if lHandler^.Next <> nil then
lHandler^.Next^.Prev := lHandler^.Prev;
Dispose(lHandler);
AHandler := nil;
end;
function TWin32WidgetSet.AddProcessEventHandler(AHandle: THandle;
@ -135,13 +137,14 @@ begin
lProcessEvent^.OnEvent(lProcessEvent^.UserData, cerExit, exitcode);
end;
procedure TWin32WidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandler);
procedure TWin32WidgetSet.RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
var
lProcessEvent: PProcessEvent absolute AHandler;
begin
if AHandler = nil then exit;
RemoveEventHandler(lProcessEvent^.Handler);
Dispose(lProcessEvent);
AHandler := nil;
end;
procedure TWin32WidgetSet.DrawArrow(Arrow: TComponent; Canvas: TPersistent);

View File

@ -42,9 +42,9 @@ function GetAcceleratorString(const AVKey: Byte; const AShiftState: TShiftState)
function GetControlConstraints(Constraints: TObject): boolean; override;
function GetListBoxIndexAtY(ListBox: TComponent; y: integer): integer; override;
procedure RemoveEventHandler(AHandler: PEventHandler); override;
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler); override;
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler); override;
procedure RemoveEventHandler(var AHandler: PEventHandler); override;
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override;
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); override;
//##apiwiz##eps## // Do not remove, no wizard declaration after this line