From 2885935b2d06426f95c9daa175b09024f1eb7af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=BDeljan=20Rikalo?= Date: Wed, 23 Aug 2023 09:18:10 +0200 Subject: [PATCH] Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. issue #40413 --- lcl/interfaces/qt/qtobject.inc | 4 ++++ lcl/interfaces/qt5/qtobject.inc | 4 ++++ lcl/interfaces/qt6/qtobject.inc | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/lcl/interfaces/qt/qtobject.inc b/lcl/interfaces/qt/qtobject.inc index a9da16e1bc..5c6caab055 100644 --- a/lcl/interfaces/qt/qtobject.inc +++ b/lcl/interfaces/qt/qtobject.inc @@ -543,8 +543,12 @@ function TQtWidgetSet.CreateDummyWidgetFrame(const ALeft, ATop, AWidth, AHeight: integer): boolean; var ADummy: TDummyWidget; + WM: String; begin Result := False; + WM := GetWindowManager; + if (WM = '') or (WM = 'wayland') then + exit; ADummy := TDummyWidget.Create; ADummy.ShowDummyWidget(ALeft, ATop, AWidth, AHeight); FWSFrameRect := ADummy.GetWidgetFrame; diff --git a/lcl/interfaces/qt5/qtobject.inc b/lcl/interfaces/qt5/qtobject.inc index 85ad347fd7..c4bbc057b7 100644 --- a/lcl/interfaces/qt5/qtobject.inc +++ b/lcl/interfaces/qt5/qtobject.inc @@ -525,8 +525,12 @@ function TQtWidgetSet.CreateDummyWidgetFrame(const ALeft, ATop, AWidth, AHeight: integer): boolean; var ADummy: TDummyWidget; + WM: String; begin Result := False; + WM := GetWindowManager; + if (WM = '') or (WM = 'wayland') then + exit; ADummy := TDummyWidget.Create; ADummy.ShowDummyWidget(ALeft, ATop, AWidth, AHeight); FWSFrameRect := ADummy.GetWidgetFrame; diff --git a/lcl/interfaces/qt6/qtobject.inc b/lcl/interfaces/qt6/qtobject.inc index 1a9c0c30b3..1a7af357c7 100644 --- a/lcl/interfaces/qt6/qtobject.inc +++ b/lcl/interfaces/qt6/qtobject.inc @@ -529,8 +529,12 @@ function TQtWidgetSet.CreateDummyWidgetFrame(const ALeft, ATop, AWidth, AHeight: integer): boolean; var ADummy: TDummyWidget; + WM: String; begin Result := False; + WM := GetWindowManager; + if (WM = '') or (WM = 'wayland') then + exit; ADummy := TDummyWidget.Create; ADummy.ShowDummyWidget(ALeft, ATop, AWidth, AHeight); FWSFrameRect := ADummy.GetWidgetFrame;