plugins/screenshot: Fix a crash in ScreenShotSource2::marshal()
There are behavior differences between QFutureInterface and QPromise. The QFutureWatcher::finished() signal will be emitted in both cases when the promise reports results or it is canceled.
(cherry picked from commit 8bf1f920)