From c2fbfcd4c57f3fb04b909bf69c43e30e2cb912fe Mon Sep 17 00:00:00 2001 From: juha Date: Fri, 30 Apr 2021 20:59:26 +0000 Subject: [PATCH] LCL-GTK3: Fix InputBox(). Issue #38710, patch from Anton Kavalenka. git-svn-id: trunk@65075 - --- lcl/interfaces/gtk3/gtk3winapi.inc | 10 ++++++++++ lcl/interfaces/gtk3/gtk3winapih.inc | 1 + lcl/interfaces/gtk3/gtk3wsbuttons.pp | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lcl/interfaces/gtk3/gtk3winapi.inc b/lcl/interfaces/gtk3/gtk3winapi.inc index 592be1979a..b2dba7cc3f 100644 --- a/lcl/interfaces/gtk3/gtk3winapi.inc +++ b/lcl/interfaces/gtk3/gtk3winapi.inc @@ -2938,6 +2938,16 @@ begin Result:=HMONITOR(nmon+1); end; +function TGtk3WidgetSet.MonitorFromWindow(hWnd: HWND; dwFlags: DWord): HMONITOR; +var + pscr:PGdkScreen; + nmon:gint; +begin + pscr:=TGdkScreen.get_default; + nmon:=pscr^.get_monitor_at_window(TGtk3Widget(hWnd).GetWindow); + Result:=HMONITOR(nmon+1); +end; + function TGtk3WidgetSet.MoveToEx(DC: HDC; X, Y: Integer; OldPoint: PPoint ): Boolean; begin diff --git a/lcl/interfaces/gtk3/gtk3winapih.inc b/lcl/interfaces/gtk3/gtk3winapih.inc index df470b1dc7..5ae9342b56 100644 --- a/lcl/interfaces/gtk3/gtk3winapih.inc +++ b/lcl/interfaces/gtk3/gtk3winapih.inc @@ -167,6 +167,7 @@ function LPtoDP(DC: HDC; var Points; Count: Integer): BOOL; override; function MessageBox({%H-}hWnd: HWND; lpText, lpCaption: PChar; uType: Cardinal): integer; override; function MonitorFromPoint(ptScreenCoords: TPoint; dwFlags: DWord): HMONITOR;override; +function MonitorFromWindow(hWnd: HWND; dwFlags: DWord): HMONITOR;override; function MoveToEx(DC: HDC; X, Y: Integer; OldPoint: PPoint): Boolean; override; function OffsetRgn(RGN: HRGN; nXOffset, nYOffset: Integer): Integer; override; diff --git a/lcl/interfaces/gtk3/gtk3wsbuttons.pp b/lcl/interfaces/gtk3/gtk3wsbuttons.pp index a60f8f9d03..a5e481a592 100644 --- a/lcl/interfaces/gtk3/gtk3wsbuttons.pp +++ b/lcl/interfaces/gtk3/gtk3wsbuttons.pp @@ -87,7 +87,7 @@ begin DebugLn('TGtk3WSBitBtn.CreateHandle'); {$ENDIF} ABitBtn := TGtk3Button.Create(AWinControl, AParams); - with ARect do +{ with ARect do begin x := AWinControl.Left; y := AWinControl.Top; @@ -95,7 +95,7 @@ begin height := AWinControl.Height; end; - ABitBtn.Widget^.set_allocation(@ARect); + ABitBtn.Widget^.set_allocation(@ARect);} Result := TLCLIntfHandle(ABitBtn); {$IFDEF GTK3DEBUGCORE}