mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 22:19:18 +02:00
"nilify" parameter in RemoveEventHandler functions, pointer has become invalid anyway
git-svn-id: trunk@8471 -
This commit is contained in:
parent
20ed86f4ee
commit
1223f44069
@ -101,19 +101,13 @@ end;
|
|||||||
procedure TAsyncProcess.UnhookProcessHandle;
|
procedure TAsyncProcess.UnhookProcessHandle;
|
||||||
begin
|
begin
|
||||||
if FProcessHandler <> nil then
|
if FProcessHandler <> nil then
|
||||||
begin
|
|
||||||
RemoveProcessEventHandler(FProcessHandler);
|
RemoveProcessEventHandler(FProcessHandler);
|
||||||
FProcessHandler := nil;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TAsyncProcess.UnhookPipeHandle;
|
procedure TAsyncProcess.UnhookPipeHandle;
|
||||||
begin
|
begin
|
||||||
if FPipeHandler <> nil then
|
if FPipeHandler <> nil then
|
||||||
begin
|
|
||||||
RemovePipeEventHandler(FPipeHandler);
|
RemovePipeEventHandler(FPipeHandler);
|
||||||
FPipeHandler := nil;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TAsyncProcess.HandlePipeInput(AData: PtrInt; AReasons: TPipeReasons);
|
procedure TAsyncProcess.HandlePipeInput(AData: PtrInt; AReasons: TPipeReasons);
|
||||||
|
@ -562,15 +562,15 @@ begin
|
|||||||
Result := false;
|
Result := false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWidgetSet.RemoveEventHandler(AHandler: PEventHandler);
|
procedure TWidgetSet.RemoveEventHandler(var AHandler: PEventHandler);
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandler);
|
procedure TWidgetSet.RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
|
procedure TWidgetSet.RemovePipeEventHandler(var AHandler: PPipeEventHandler);
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -393,17 +393,17 @@ begin
|
|||||||
Result := WidgetSet.ReleaseDesignerDC(hWnd, DC);
|
Result := WidgetSet.ReleaseDesignerDC(hWnd, DC);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure RemoveEventHandler(AHandler: PEventHandler);
|
procedure RemoveEventHandler(var AHandler: PEventHandler);
|
||||||
begin
|
begin
|
||||||
WidgetSet.RemoveEventHandler(AHandler);
|
WidgetSet.RemoveEventHandler(AHandler);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler);
|
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
|
||||||
begin
|
begin
|
||||||
WidgetSet.RemoveProcessEventHandler(AHandler);
|
WidgetSet.RemoveProcessEventHandler(AHandler);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler);
|
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler);
|
||||||
begin
|
begin
|
||||||
WidgetSet.RemovePipeEventHandler(AHandler);
|
WidgetSet.RemovePipeEventHandler(AHandler);
|
||||||
end;
|
end;
|
||||||
|
@ -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 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 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}
|
function ReleaseDesignerDC(hWnd: HWND; DC: HDC): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
|
||||||
procedure RemoveEventHandler(AHandler: PEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
|
procedure RemoveEventHandler(var AHandler: PEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
|
||||||
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
|
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
|
||||||
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler); {$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 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}
|
function RequestInput(const InputCaption, InputPrompt : String; MaskInput : Boolean; var Value : String) : Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ begin
|
|||||||
Result := lEventHandler;
|
Result := lEventHandler;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TGtkWidgetSet.RemoveEventHandler(AHandler: PEventHandler);
|
procedure TGtkWidgetSet.RemoveEventHandler(var AHandler: PEventHandler);
|
||||||
var
|
var
|
||||||
lEventHandler: PWaitHandleEventHandler absolute AHandler;
|
lEventHandler: PWaitHandleEventHandler absolute AHandler;
|
||||||
begin
|
begin
|
||||||
@ -74,6 +74,7 @@ begin
|
|||||||
if lEventHandler^.NextHandler <> nil then
|
if lEventHandler^.NextHandler <> nil then
|
||||||
lEventHandler^.NextHandler^.PrevHandler := lEventHandler^.PrevHandler;
|
lEventHandler^.NextHandler^.PrevHandler := lEventHandler^.PrevHandler;
|
||||||
Dispose(lEventHandler);
|
Dispose(lEventHandler);
|
||||||
|
AHandler := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TGtkWidgetSet.SetEventHandlerFlags(AHandler: PEventHandler; NewFlags: dword);
|
procedure TGtkWidgetSet.SetEventHandlerFlags(AHandler: PEventHandler; NewFlags: dword);
|
||||||
@ -124,13 +125,14 @@ begin
|
|||||||
lPipeEventInfo^.OnEvent(lPipeEventInfo^.UserData, lReasons);
|
lPipeEventInfo^.OnEvent(lPipeEventInfo^.UserData, lReasons);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TGtkWidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
|
procedure TGtkWidgetSet.RemovePipeEventHandler(var AHandler: PPipeEventHandler);
|
||||||
var
|
var
|
||||||
lPipeEventInfo: PPipeEventInfo absolute AHandler;
|
lPipeEventInfo: PPipeEventInfo absolute AHandler;
|
||||||
begin
|
begin
|
||||||
if AHandler = nil then exit;
|
if AHandler = nil then exit;
|
||||||
RemoveEventHandler(lPipeEventInfo^.Handler);
|
RemoveEventHandler(lPipeEventInfo^.Handler);
|
||||||
Dispose(lPipeEventInfo);
|
Dispose(lPipeEventInfo);
|
||||||
|
AHandler := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TGtkWidgetSet.AddProcessEventHandler(AHandle: THandle;
|
function TGtkWidgetSet.AddProcessEventHandler(AHandle: THandle;
|
||||||
@ -151,7 +153,7 @@ begin
|
|||||||
Result := lHandler;
|
Result := lHandler;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TGtkWidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandler);
|
procedure TGtkWidgetSet.RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
|
||||||
var
|
var
|
||||||
lHandler: PChildSignalEventHandler absolute AHandler;
|
lHandler: PChildSignalEventHandler absolute AHandler;
|
||||||
begin
|
begin
|
||||||
@ -163,6 +165,7 @@ begin
|
|||||||
if lHandler^.NextHandler <> nil then
|
if lHandler^.NextHandler <> nil then
|
||||||
lHandler^.NextHandler^.PrevHandler := lHandler^.PrevHandler;
|
lHandler^.NextHandler^.PrevHandler := lHandler^.PrevHandler;
|
||||||
Dispose(lHandler);
|
Dispose(lHandler);
|
||||||
|
AHandler := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
|
@ -50,9 +50,9 @@ function GetListBoxItemRect(ListBox: TComponent; Index: integer; var ARect: TRec
|
|||||||
|
|
||||||
function IntfSendsUTF8KeyPress: boolean; override;
|
function IntfSendsUTF8KeyPress: boolean; override;
|
||||||
|
|
||||||
procedure RemoveEventHandler(AHandler: PEventHandler); override;
|
procedure RemoveEventHandler(var AHandler: PEventHandler); override;
|
||||||
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler); override;
|
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override;
|
||||||
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler); override;
|
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); override;
|
||||||
function ReplaceBitmapMask(var Image, Mask: HBitmap; NewMask: HBitmap): boolean; override;
|
function ReplaceBitmapMask(var Image, Mask: HBitmap; NewMask: HBitmap): boolean; override;
|
||||||
|
|
||||||
procedure SetEventHandlerFlags(AHandler: PEventHandler; NewFlags: dword); override;
|
procedure SetEventHandlerFlags(AHandler: PEventHandler; NewFlags: dword); override;
|
||||||
|
@ -55,7 +55,7 @@ begin
|
|||||||
Result := lListIndex;
|
Result := lListIndex;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWin32WidgetSet.RemoveEventHandler(AHandler: PEventHandler);
|
procedure TWin32WidgetSet.RemoveEventHandler(var AHandler: PEventHandler);
|
||||||
var
|
var
|
||||||
lListIndex: pdword absolute AHandler;
|
lListIndex: pdword absolute AHandler;
|
||||||
I: dword;
|
I: dword;
|
||||||
@ -76,6 +76,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
Dec(FWaitHandleCount);
|
Dec(FWaitHandleCount);
|
||||||
Dispose(lListIndex);
|
Dispose(lListIndex);
|
||||||
|
AHandler := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TWin32WidgetSet.AddPipeEventHandler(AHandle: THandle;
|
function TWin32WidgetSet.AddPipeEventHandler(AHandle: THandle;
|
||||||
@ -96,7 +97,7 @@ begin
|
|||||||
Result := lHandler;
|
Result := lHandler;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWin32WidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
|
procedure TWin32WidgetSet.RemovePipeEventHandler(var AHandler: PPipeEventHandler);
|
||||||
var
|
var
|
||||||
lHandler: PPipeEventInfo absolute AHandler;
|
lHandler: PPipeEventInfo absolute AHandler;
|
||||||
begin
|
begin
|
||||||
@ -108,6 +109,7 @@ begin
|
|||||||
if lHandler^.Next <> nil then
|
if lHandler^.Next <> nil then
|
||||||
lHandler^.Next^.Prev := lHandler^.Prev;
|
lHandler^.Next^.Prev := lHandler^.Prev;
|
||||||
Dispose(lHandler);
|
Dispose(lHandler);
|
||||||
|
AHandler := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TWin32WidgetSet.AddProcessEventHandler(AHandle: THandle;
|
function TWin32WidgetSet.AddProcessEventHandler(AHandle: THandle;
|
||||||
@ -135,13 +137,14 @@ begin
|
|||||||
lProcessEvent^.OnEvent(lProcessEvent^.UserData, cerExit, exitcode);
|
lProcessEvent^.OnEvent(lProcessEvent^.UserData, cerExit, exitcode);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWin32WidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandler);
|
procedure TWin32WidgetSet.RemoveProcessEventHandler(var AHandler: PProcessEventHandler);
|
||||||
var
|
var
|
||||||
lProcessEvent: PProcessEvent absolute AHandler;
|
lProcessEvent: PProcessEvent absolute AHandler;
|
||||||
begin
|
begin
|
||||||
if AHandler = nil then exit;
|
if AHandler = nil then exit;
|
||||||
RemoveEventHandler(lProcessEvent^.Handler);
|
RemoveEventHandler(lProcessEvent^.Handler);
|
||||||
Dispose(lProcessEvent);
|
Dispose(lProcessEvent);
|
||||||
|
AHandler := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWin32WidgetSet.DrawArrow(Arrow: TComponent; Canvas: TPersistent);
|
procedure TWin32WidgetSet.DrawArrow(Arrow: TComponent; Canvas: TPersistent);
|
||||||
|
@ -42,9 +42,9 @@ function GetAcceleratorString(const AVKey: Byte; const AShiftState: TShiftState)
|
|||||||
function GetControlConstraints(Constraints: TObject): boolean; override;
|
function GetControlConstraints(Constraints: TObject): boolean; override;
|
||||||
function GetListBoxIndexAtY(ListBox: TComponent; y: integer): integer; override;
|
function GetListBoxIndexAtY(ListBox: TComponent; y: integer): integer; override;
|
||||||
|
|
||||||
procedure RemoveEventHandler(AHandler: PEventHandler); override;
|
procedure RemoveEventHandler(var AHandler: PEventHandler); override;
|
||||||
procedure RemovePipeEventHandler(AHandler: PPipeEventHandler); override;
|
procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override;
|
||||||
procedure RemoveProcessEventHandler(AHandler: PProcessEventHandler); override;
|
procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); override;
|
||||||
|
|
||||||
|
|
||||||
//##apiwiz##eps## // Do not remove, no wizard declaration after this line
|
//##apiwiz##eps## // Do not remove, no wizard declaration after this line
|
||||||
|
Loading…
Reference in New Issue
Block a user