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; }