From fde63f15927b15f2906fd1b549d4f0e8c76df757 Mon Sep 17 00:00:00 2001 From: Nils Fenner Date: Sun, 27 Sep 2015 23:57:01 +0200 Subject: [PATCH] fix screenshot grabber for windows --- src/widget/tool/screenshotgrabber.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/widget/tool/screenshotgrabber.cpp b/src/widget/tool/screenshotgrabber.cpp index 40dcbdfd0..3e1bcee85 100644 --- a/src/widget/tool/screenshotgrabber.cpp +++ b/src/widget/tool/screenshotgrabber.cpp @@ -78,9 +78,9 @@ void ScreenshotGrabber::showGrabber() this->window->grabKeyboard(); QRect fullGrabbedRect = screenGrab.rect(); - QRect nr(QPoint(-1,-1), fullGrabbedRect.size()); + QRect rec = QApplication::primaryScreen()->virtualGeometry(); - this->window->setGeometry(nr); + this->window->setGeometry(rec); this->scene->setSceneRect(fullGrabbedRect); this->overlay->setRect(fullGrabbedRect); @@ -200,11 +200,13 @@ void ScreenshotGrabber::reject() QPixmap ScreenshotGrabber::grabScreen() { - QScreen* screen = QApplication::primaryScreen(); - if (screen) - return screen->grabWindow(0); - - return QPixmap(); + QScreen* screen = QGuiApplication::primaryScreen(); + QRect rec = screen->virtualGeometry(); + return screen->grabWindow(QApplication::desktop()->winId(), + rec.x(), + rec.y(), + rec.width(), + rec.height()); } void ScreenshotGrabber::beginRectChooser(QGraphicsSceneMouseEvent* event)