on xenial help sign in
Saviq prefers a raw pointer
commit2b69d557535838d1962a9daea2ff33297bf56a6d authorAlbert Astals Cid <albert.astals@canonical.com> dateThu 30 Apr 2015, 11:03 (12 years ago) parentdf7050a
2 files changed+6−4
plugins/SessionGrabber/sessiongrabber.cpp+5−3 plugins/SessionGrabber/sessiongrabber.h+1−1
plugins/SessionGrabber/sessiongrabber.cpp+5−3
@@ -35,6 +35,7 @@ static QString cachePath(const QString &appId)
3535SessionGrabber::SessionGrabber(QObject *parent)
3636 : QObject(parent)
3737 , m_target(nullptr)
38+ , m_watcher(nullptr)
3839{
3940}
4041
@@ -119,15 +120,16 @@ void SessionGrabber::removeScreenshot()
119120void SessionGrabber::grabReady()
120121{
121122 QFuture<QString> f = QtConcurrent::run(saveScreenshot, m_appId, m_grabResult);
122− m_watcher.reset(new QFutureWatcher<QString>(this));
123+ m_watcher = new QFutureWatcher<QString>(this);
123124 m_watcher->setFuture(f);
124− connect(m_watcher.data(), &QFutureWatcher<QString>::finished, this, &SessionGrabber::saveFinished);
125+ connect(m_watcher, &QFutureWatcher<QString>::finished, this, &SessionGrabber::saveFinished);
125126}
126127
127128void SessionGrabber::saveFinished()
128129{
129130 setPath(m_watcher->future().result());
130− m_watcher.clear();
131+ delete m_watcher;
132+ m_watcher = 0;
131133 m_grabResult.clear();
132134 Q_EMIT screenshotGrabbed();
133135}
plugins/SessionGrabber/sessiongrabber.h+1−1
@@ -78,8 +78,8 @@ private:
7878 QString m_appId;
7979 QString m_path;
8080 QQuickItem *m_target;
81+ QFutureWatcher<QString> *m_watcher;
8182 QSharedPointer<QQuickItemGrabResult> m_grabResult;
82− QSharedPointer<QFutureWatcher<QString>> m_watcher;
8383};
8484
8585#endif