From c2d8116ccf21953d8d472556999e44c1c19619a2 Mon Sep 17 00:00:00 2001 From: zeljko Date: Sun, 27 Mar 2016 10:18:16 +0000 Subject: [PATCH] gtk2: workaround for openbox wm wrong reading of geometry structure. issue #29884 git-svn-id: trunk@52069 - --- lcl/interfaces/gtk2/gtk2wscontrols.pp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lcl/interfaces/gtk2/gtk2wscontrols.pp b/lcl/interfaces/gtk2/gtk2wscontrols.pp index 98ed29d4f4..5618b537ce 100644 --- a/lcl/interfaces/gtk2/gtk2wscontrols.pp +++ b/lcl/interfaces/gtk2/gtk2wscontrols.pp @@ -17,6 +17,7 @@ unit Gtk2WSControls; {$mode objfpc}{$H+} +{$I gtk2defines.inc} interface @@ -725,8 +726,13 @@ begin if (AForm.Constraints.MaxHeight > 0) or (AForm.Constraints.MaxWidth > 0) then AHints := AHints or GDK_HINT_MAX_SIZE; - gtk_window_set_geometry_hints({%H-}PGtkWindow(AForm.Handle), nil, @Geometry, - AHints); + {$IFDEF HASX} + if (AHints and GDK_HINT_MIN_SIZE = 0) and (AHints and GDK_HINT_MAX_SIZE = 0) and + (Gtk2WidgetSet.GetWindowManager = 'openbox') then + else + {$ENDIF} + gtk_window_set_geometry_hints({%H-}PGtkWindow(AForm.Handle), nil, @Geometry, + AHints); end; gtk_window_resize({%H-}PGtkWindow(AForm.Handle), AForm.Width, AForm.Height); end;