From 935b33a771ee1fbb4f77c8639298e7849b3642f1 Mon Sep 17 00:00:00 2001 From: juha Date: Sun, 4 Oct 2020 19:12:11 +0000 Subject: [PATCH] LCL-GTK3: Implement ApplicationProperties.OnActivate/OnDeactivate. Issue #37867, patch from Anton Kavalenka. git-svn-id: trunk@63957 - --- lcl/interfaces/gtk3/gtk3widgets.pas | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lcl/interfaces/gtk3/gtk3widgets.pas b/lcl/interfaces/gtk3/gtk3widgets.pas index 24d05a91b3..3fb7b44b09 100644 --- a/lcl/interfaces/gtk3/gtk3widgets.pas +++ b/lcl/interfaces/gtk3/gtk3widgets.pas @@ -1055,6 +1055,8 @@ begin end; end; +const act_count:integer=0; + function Gtk3WidgetEvent(widget: PGtkWidget; event: PGdkEvent; data: GPointer): gboolean; cdecl; begin {$IFDEF GTK3DEBUGCOMBOBOX} @@ -1230,6 +1232,19 @@ begin end; GDK_FOCUS_CHANGE: begin + if event^.focus_change.in_=1 then + begin + if act_count=0 then + Application.IntfAppActivate(); + inc(act_count); + end + else + begin + if act_count>0 then + Application.IntfAppDeactivate(); + dec(act_count); + end; + if wtComboBox in TGtk3Widget(Data).WidgetType then begin TGtk3ComboBox(Data).DumpPrivateStructValues('GDK_FOCUS_CHANGE='+IntToStr(Event^.focus_change.in_));