From 6c90924c4c2edcc3bda3f9ad0bd7fbe8f22d1609 Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 28 Dec 2007 04:18:53 +0000 Subject: [PATCH] gtk: - remove obsoleted code - fix mem leak in TGtkWSCustomControl.CreateHandle git-svn-id: trunk@13494 - --- lcl/interfaces/gtk/gtkproc.inc | 7 ------- lcl/interfaces/gtk/gtkwidgetset.inc | 6 +++--- lcl/interfaces/gtk/gtkwscontrols.pp | 7 +++++-- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/lcl/interfaces/gtk/gtkproc.inc b/lcl/interfaces/gtk/gtkproc.inc index d0ca39ed00..bc669e5bc8 100644 --- a/lcl/interfaces/gtk/gtkproc.inc +++ b/lcl/interfaces/gtk/gtkproc.inc @@ -3741,11 +3741,8 @@ begin WidgetInfo := GetWidgetInfo(Widget, True); WidgetInfo^.LCLObject := AnObject; - //TODO: remove old compatebility - gtk_object_set_data(Widget, 'Class', Pointer(AnObject)); end; -//TODO: cleanup when WidgetInfo is fully implemented function GetLCLObject(const Widget: Pointer): TObject; var WidgetInfo: PWinWidgetInfo; @@ -3757,10 +3754,6 @@ begin if WidgetInfo <> nil then Result := WidgetInfo^.LCLObject else Result := nil; - - // Fallback; - if Result = nil - then Result := TObject(gtk_object_get_data(Widget, 'Class')); end; {------------------------------------------------------------------------------- diff --git a/lcl/interfaces/gtk/gtkwidgetset.inc b/lcl/interfaces/gtk/gtkwidgetset.inc index cd74e0bee0..ec57c92ae0 100644 --- a/lcl/interfaces/gtk/gtkwidgetset.inc +++ b/lcl/interfaces/gtk/gtkwidgetset.inc @@ -4064,9 +4064,9 @@ var WinWidgetInfo: PWinWidgetInfo; begin Result := GTKAPIWidget_New; - WinWidgetInfo:=GetWidgetInfo(Result,true); - WinWidgetInfo^.CoreWidget:=PGTKAPIWidget(Result)^.Client; - SetLCLObject(WinWidgetInfo^.CoreWidget,AWinControl); + WinWidgetInfo := GetWidgetInfo(Result, True); + WinWidgetInfo^.CoreWidget := PGTKAPIWidget(Result)^.Client; + WinWidgetInfo^.LCLObject := AWinControl; gtk_scrolled_window_set_policy(PGTKScrolledWindow(Result), GTK_POLICY_NEVER, GTK_POLICY_NEVER); diff --git a/lcl/interfaces/gtk/gtkwscontrols.pp b/lcl/interfaces/gtk/gtkwscontrols.pp index 9399fadaa3..28a7a3fbeb 100644 --- a/lcl/interfaces/gtk/gtkwscontrols.pp +++ b/lcl/interfaces/gtk/gtkwscontrols.pp @@ -108,7 +108,7 @@ type protected class procedure SetCallbacks(const AWidget: PGtkWidget; const AWidgetInfo: PWidgetInfo); virtual; public - class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): HWND; override; + class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): HWND; override; end; { TGtkWSImageList } @@ -909,7 +909,10 @@ begin Result := THandle(PtrUInt(Widget)); if Result = 0 then Exit; - WidgetInfo := CreateWidgetInfo(Widget, AWinControl, AParams); + WidgetInfo := GetWidgetInfo(Widget); // Widget info already created in CreateAPIWidget + WidgetInfo^.Style := AParams.Style; + WidgetInfo^.ExStyle := AParams.ExStyle; + WidgetInfo^.WndProc := PtrUInt(AParams.WindowClass.lpfnWndProc); // set allocation Allocation.X := AParams.X;