From 174794988c39e66cda2b28581852630bc0053d12 Mon Sep 17 00:00:00 2001 From: ck Date: Thu, 25 Jan 2024 16:05:41 +0800 Subject: [PATCH] fix: blur region atom not set if blur unload always set blur region if `D_DXCB_DISABLE_FORCE_BLUR` env not set Issue: https://github.com/linuxdeepin/developer-center/issues/7057 --- xcb/dnotitlebarwindowhelper.cpp | 3 ++- xcb/utility_x11.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/xcb/dnotitlebarwindowhelper.cpp b/xcb/dnotitlebarwindowhelper.cpp index 727aeb42..97149942 100644 --- a/xcb/dnotitlebarwindowhelper.cpp +++ b/xcb/dnotitlebarwindowhelper.cpp @@ -537,7 +537,8 @@ bool DNoTitlebarWindowHelper::updateWindowBlurAreasForWM() if (!blurEnable || !DWMSupport::instance()->hasBlurWindow()) { Utility::clearWindowBlur(m_windowID); - return true; + if (qEnvironmentVariableIsSet("D_DXCB_DISABLE_FORCE_BLUR")) + return true; } qreal device_pixel_ratio = m_window->screen()->devicePixelRatio(); diff --git a/xcb/utility_x11.cpp b/xcb/utility_x11.cpp index f29ed705..25d03866 100644 --- a/xcb/utility_x11.cpp +++ b/xcb/utility_x11.cpp @@ -523,8 +523,10 @@ bool Utility::setEnableBlurWindow(const quint32 WId, bool enable) bool Utility::blurWindowBackground(const quint32 WId, const QVector &areas) { - if (!DXcbWMSupport::instance()->hasBlurWindow()) - return false; + if (!DXcbWMSupport::instance()->hasBlurWindow() && + qEnvironmentVariableIsSet("D_DXCB_DISABLE_FORCE_BLUR")) { + return false; + } if (DXcbWMSupport::instance()->isDeepinWM()) { xcb_atom_t atom = DXcbWMSupport::instance()->_net_wm_deepin_blur_region_rounded_atom;