From e0c25001279119fb2469d0c2f136759a5e2dacd9 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Thu, 16 Nov 2023 00:29:58 +0400 Subject: [PATCH] Cache QWindow native interface check in WindowMarginsSupported() It couldn't be changed at runtime anyway --- ui/platform/linux/ui_utility_linux.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ui/platform/linux/ui_utility_linux.cpp b/ui/platform/linux/ui_utility_linux.cpp index 933902f..8c0b5ca 100644 --- a/ui/platform/linux/ui_utility_linux.cpp +++ b/ui/platform/linux/ui_utility_linux.cpp @@ -533,10 +533,14 @@ std::optional IsOverlapped( bool WindowMarginsSupported() { #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) - using namespace QNativeInterface::Private; - QWindow window; - window.create(); - if (window.nativeInterface()) { + static const auto WaylandResult = [] { + using namespace QNativeInterface::Private; + QWindow window; + window.create(); + return bool(window.nativeInterface()); + }(); + + if (WaylandResult) { return true; } #endif // Qt >= 6.5.0