on xenial help sign in
Avoid blocking gui thread while saving screenshot
commitfdbf6e6e7899412d0df0572c1d41a97312025395 authorAlberto Aguirre <alberto.aguirre@canonical.com> dateFri 26 Sep 2014, 21:29 (12 years ago) parent77bdac2
2 files changed+3−2
plugins/ScreenGrabber/CMakeLists.txt+1−1 plugins/ScreenGrabber/screengrabber.cpp+2−1
plugins/ScreenGrabber/CMakeLists.txt+1−1
@@ -8,6 +8,6 @@ set(SCREENGRABBERSOURCES
88)
99
1010add_library(ScreenGrabber-qml MODULE ${SCREENGRABBERSOURCES})
11−qt5_use_modules(ScreenGrabber-qml Qml Gui Quick)
11+qt5_use_modules(ScreenGrabber-qml Qml Gui Quick Concurrent)
1212
1313add_unity8_plugin(ScreenGrabber 0.1 ScreenGrabber TARGETS ScreenGrabber-qml)
plugins/ScreenGrabber/screengrabber.cpp+2−1
@@ -24,6 +24,7 @@
2424#include <QtGui/QImage>
2525#include <QtGui/QGuiApplication>
2626#include <QtQuick/QQuickWindow>
27+#include <QtConcurrent/QtConcurrentRun>
2728
2829#include <QDebug>
2930
@@ -74,7 +75,7 @@ void ScreenGrabber::captureAndSave()
7475 }
7576
7677 QImage screenshot = main_window->grabWindow();
77− saveScreenshot(screenshot, makeFileName(), getFormat(), screenshotQuality);
78+ QtConcurrent::run(saveScreenshot, screenshot, makeFileName(), getFormat(), screenshotQuality);
7879}
7980
8081QString ScreenGrabber::makeFileName()