From 6d9768445f31deec25dc80aef2882da001a51455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haris=20Gu=C5=A1i=C4=87?= Date: Fri, 3 Dec 2021 00:30:57 +0100 Subject: [PATCH] Fix screen grab error (#2139) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Haris Gušić --- src/core/controller.cpp | 4 +++- src/utils/screengrabber.cpp | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/controller.cpp b/src/core/controller.cpp index fb5df759..6ffb5d7f 100644 --- a/src/core/controller.cpp +++ b/src/core/controller.cpp @@ -318,7 +318,7 @@ void Controller::startVisualCapture(const uint id, void Controller::startScreenGrab(const uint id, const int screenNumber) { bool ok = true; - auto screen = qApp->screens()[screenNumber]; + QScreen* screen; if (screenNumber < 0) { QPoint globalCursorPos = QCursor::pos(); @@ -328,6 +328,8 @@ void Controller::startScreenGrab(const uint id, const int screenNumber) screen = qApp->screens()[qApp->desktop()->screenNumber(globalCursorPos)]; #endif + } else { + screen = qApp->screens()[screenNumber]; } QPixmap p(ScreenGrabber().grabScreen(screen, ok)); if (ok) { diff --git a/src/utils/screengrabber.cpp b/src/utils/screengrabber.cpp index 669a6c5c..c870b47a 100644 --- a/src/utils/screengrabber.cpp +++ b/src/utils/screengrabber.cpp @@ -179,9 +179,8 @@ QPixmap ScreenGrabber::grabScreen(QScreen* screen, bool& ok) } } else { ok = true; - QScreen* currentScreen = QGuiAppCurrentScreen().currentScreen(); - return currentScreen->grabWindow( - geometry.x(), geometry.y(), geometry.width(), geometry.height()); + return screen->grabWindow( + 0, geometry.x(), geometry.y(), geometry.width(), geometry.height()); } return p; }