ignore Set/RemoveEventHandler calls with nil parameter

git-svn-id: trunk@8465 -
This commit is contained in:
micha 2006-01-07 18:40:40 +00:00
parent 437421c944
commit 8e93ee346b
3 changed files with 7 additions and 1 deletions

View File

@ -65,6 +65,7 @@ procedure TGtkWidgetSet.RemoveEventHandler(AHandler: PEventHandler);
var
lEventHandler: PWaitHandleEventHandler absolute AHandler;
begin
if AHandler = nil then exit;
g_source_remove(lEventHandler^.GSourceID);
if lEventHandler^.PrevHandler = nil then
FWaitHandles := lEventHandler^.NextHandler
@ -79,6 +80,7 @@ procedure TGtkWidgetSet.SetEventHandlerFlags(AHandler: PEventHandler; NewFlags:
var
lEventHandler: PWaitHandleEventHandler absolute AHandler;
begin
if AHandler = nil then exit;
g_source_remove(lEventHandler^.GSourceID);
lEventHandler^.GSourceID := g_io_add_watch(lEventHandler^.GIOChannel,
NewFlags, @waithandle_iocallback, lEventHandler);
@ -126,6 +128,7 @@ procedure TGtkWidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
var
lPipeEventInfo: PPipeEventInfo absolute AHandler;
begin
if AHandler = nil then exit;
RemoveEventHandler(lPipeEventInfo^.Handler);
Dispose(lPipeEventInfo);
end;
@ -152,6 +155,7 @@ procedure TGtkWidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandler
var
lHandler: PChildSignalEventHandler absolute AHandler;
begin
if AHandler = nil then exit;
if lHandler^.PrevHandler = nil then
FChildSignalHandlers := lHandler^.NextHandler
else

View File

@ -60,6 +60,7 @@ var
lListIndex: pdword absolute AHandler;
I: dword;
begin
if AHandler = nil then exit;
{$ifdef DEBUG_ASYNCEVENTS}
DebugLn('Removing handle: ', IntToHex(FWaitHandles[lListIndex^], 8));
if Length(FWaitHandles) > 0 then
@ -99,6 +100,7 @@ procedure TWin32WidgetSet.RemovePipeEventHandler(AHandler: PPipeEventHandler);
var
lHandler: PPipeEventInfo absolute AHandler;
begin
if AHandler = nil then exit;
if lHandler^.Prev <> nil then
lHandler^.Prev^.Next := lHandler^.Next
else
@ -137,6 +139,7 @@ procedure TWin32WidgetSet.RemoveProcessEventHandler(AHandler: PProcessEventHandl
var
lProcessEvent: PProcessEvent absolute AHandler;
begin
if AHandler = nil then exit;
RemoveEventHandler(lProcessEvent^.Handler);
Dispose(lProcessEvent);
end;

View File

@ -189,7 +189,6 @@ var
newWidth, newHeight: integer; // dimensions of new combined bitmap
srcWidth: integer; // width of glyph to use, bitmap may have multiple glyphs
BitmapRect: Windows.RECT;
oldImageList: HIMAGELIST;
ButtonImageList: BUTTON_IMAGELIST;
I: integer;