gtk: more safer code in WindowFromPoint (fixes #0014497)

git-svn-id: trunk@21569 -
This commit is contained in:
paul 2009-09-04 13:49:41 +00:00
parent bbda022560
commit 907df92e81
2 changed files with 8 additions and 8 deletions

View File

@ -1058,11 +1058,10 @@ begin
FreeWidgetInfo(Widget);
end;
function DestroyWindowFromPointCB(Widget: PGtkWidget; data: gPointer
): GBoolean; cdecl;
function DestroyWindowFromPointCB(Widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
begin
Result := CallBackDefaultReturn;
if PGtkWidget(LastWFPResult)<>Widget then exit;
if PGtkWidget(LastWFPResult) <> Widget then Exit;
LastWFPResult := 0;
LastWFPMousePos := Point(High(Integer), High(Integer));
end;

View File

@ -9730,7 +9730,8 @@ begin
Result := PtrUInt(Widget);
end;
// disconnect old handler
if LastWFPResult<>0 then begin
if GTK_IS_OBJECT(Pointer(LastWFPResult)) then
begin
{$IFDEF gtk1}
gtk_signal_disconnect_by_func(GPointer(LastWFPResult),
TGTKSignalFunc(@DestroyWindowFromPointCB), nil);