diff --git a/qrenderdoc/Windows/Dialogs/LiveCapture.cpp b/qrenderdoc/Windows/Dialogs/LiveCapture.cpp index ad750cec9..fa09c2ec5 100644 --- a/qrenderdoc/Windows/Dialogs/LiveCapture.cpp +++ b/qrenderdoc/Windows/Dialogs/LiveCapture.cpp @@ -912,6 +912,13 @@ bool LiveCapture::checkAllowClose(int totalUnsavedCaptures, bool &noToAll) { bool success = saveCapture(cap, QString()); + // need to wait for the transfer to finish before exiting, when captureCopied() is called + // cap->local will become true. Otherwise wait until the transfer is finished or we disconnect + // for another reason - and offer a cancel button + ShowProgressDialog( + this, tr("Transferring file."), [this, cap]() { return !IsConnected() || cap->local; }, + NULL, [&success]() { success = false; }); + if(!success) { m_IgnoreThreadClosed = false;