From 91915ea85b30f8288987a64dc1ba84f403dfcad6 Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 7 Sep 2009 09:45:07 +0000 Subject: [PATCH] gtk: simplify DestroyWindowFromPointCB and other minor corrections to WindowFromPoint git-svn-id: trunk@21598 - --- lcl/interfaces/gtk/gtkcallback.inc | 3 +-- lcl/interfaces/gtk/gtkproc.pp | 2 +- lcl/interfaces/gtk/gtkwinapi.inc | 5 +++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lcl/interfaces/gtk/gtkcallback.inc b/lcl/interfaces/gtk/gtkcallback.inc index 534d533a63..ad1db6db59 100644 --- a/lcl/interfaces/gtk/gtkcallback.inc +++ b/lcl/interfaces/gtk/gtkcallback.inc @@ -1058,9 +1058,8 @@ begin FreeWidgetInfo(Widget); end; -function DestroyWindowFromPointCB(Widget: PGtkWidget; data: gPointer): GBoolean; cdecl; +procedure DestroyWindowFromPointCB(Widget: PGtkWidget; data: gPointer); cdecl; begin - Result := CallBackDefaultReturn; if PGtkWidget(LastWFPResult) <> Widget then Exit; LastWFPResult := 0; LastWFPMousePos := Point(High(Integer), High(Integer)); diff --git a/lcl/interfaces/gtk/gtkproc.pp b/lcl/interfaces/gtk/gtkproc.pp index 7fd7b9bcdd..7fb1c0028c 100644 --- a/lcl/interfaces/gtk/gtkproc.pp +++ b/lcl/interfaces/gtk/gtkproc.pp @@ -140,7 +140,7 @@ function GTKKillFocusCB(widget: PGtkWidget; event:PGdkEventFocus; function GTKKillFocusCBAfter(widget: PGtkWidget; event:PGdkEventFocus; data: gPointer): GBoolean; cdecl; function gtkdestroyCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl; -function DestroyWindowFromPointCB(Widget: PGtkWidget; data: gPointer): GBoolean; cdecl; +procedure DestroyWindowFromPointCB(Widget: PGtkWidget; data: gPointer); cdecl; function gtkdeleteCB(widget: PGtkWidget; event: PGdkEvent; data: gPointer): GBoolean; cdecl; function gtkresizeCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl; diff --git a/lcl/interfaces/gtk/gtkwinapi.inc b/lcl/interfaces/gtk/gtkwinapi.inc index b77694211f..6ef69cba87 100644 --- a/lcl/interfaces/gtk/gtkwinapi.inc +++ b/lcl/interfaces/gtk/gtkwinapi.inc @@ -9744,8 +9744,13 @@ begin LastWFPResult := Result; // connect handler if LastWFPResult <> 0 then + {$IFDEF gtk1} + gtk_signal_connect(PGtkObject(LastWFPResult), 'destroy', + TGTKSignalFunc(@DestroyWindowFromPointCB), nil); + {$else} g_signal_connect(GPointer(LastWFPResult), 'destroy', TGTKSignalFunc(@DestroyWindowFromPointCB), nil); + {$endif} end; //##apiwiz##eps## // Do not remove