From 53a4faf4e68da05e3f92c9046eaf5197c554223c Mon Sep 17 00:00:00 2001 From: Kristen McWilliam Date: Sat, 14 Oct 2023 16:32:59 -0400 Subject: [PATCH] refactor window geometry checking --- src/plugins/screenshot/screenshot.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/plugins/screenshot/screenshot.cpp b/src/plugins/screenshot/screenshot.cpp index 8267201fa0..0ffbc87afe 100644 --- a/src/plugins/screenshot/screenshot.cpp +++ b/src/plugins/screenshot/screenshot.cpp @@ -228,17 +228,21 @@ void ScreenShotEffect::takeScreenShot(ScreenShotWindowData *screenshot) WindowPaintData d; QRectF geometry = window->expandedGeometry(); qreal devicePixelRatio = 1; - if (window->hasDecoration() && !(screenshot->flags & ScreenShotIncludeDecoration)) { + bool includeDecorations = (screenshot->flags & ScreenShotIncludeDecoration); + bool includeShadow = (screenshot->flags & ScreenShotIncludeShadow); + + if (window->hasDecoration() && !includeDecorations) { geometry = window->clientGeometry(); - } - if (window->hasDecoration() && !(screenshot->flags & ScreenShotIncludeShadow)) { + } else if (window->hasDecoration() && !includeShadow) { geometry = window->frameGeometry(); } + if (screenshot->flags & ScreenShotNativeResolution) { if (const EffectScreen *screen = window->screen()) { devicePixelRatio = screen->devicePixelRatio(); } } + bool validTarget = true; std::unique_ptr offscreenTexture; std::unique_ptr target;