@@ -80,6 +80,8 @@ QtMeshCloudSession::QtMeshCloudSession(const QString& bearerToken, QObject* pare
8080void QtMeshCloudSession::cancel ()
8181{
8282 m_canceled.store (true );
83+ if (m_uploadCancelFlag)
84+ m_uploadCancelFlag->store (true );
8385}
8486
8587void QtMeshCloudSession::listProjects ()
@@ -107,18 +109,21 @@ void QtMeshCloudSession::uploadPackage(const PackageMetadata& metadata,
107109 const QString& projectSlug,
108110 bool createNewProject)
109111{
112+ m_uploadCancelFlag = std::make_shared<std::atomic_bool>(false );
110113 m_canceled.store (false );
111114 startUploadWorker (metadata, ownerSlug, projectSlug, createNewProject);
112115}
113116
114117void QtMeshCloudSession::uploadPackageFromAssets (const CloudPackageUploadRequest& request)
115118{
119+ m_uploadCancelFlag = std::make_shared<std::atomic_bool>(false );
116120 m_canceled.store (false );
117121 const QString token = m_bearerToken;
118122 const CloudPackageUploadRequest req = request;
119123 QPointer<QtMeshCloudSession> self (this );
124+ const std::shared_ptr<std::atomic_bool> canceled = m_uploadCancelFlag;
120125
121- QThread* worker = QThread::create ([self, token, req, canceled = &m_canceled ]() {
126+ QThread* worker = QThread::create ([self, token, req, canceled]() {
122127 if (canceled->load ()) {
123128 invokeUploadCanceled (self);
124129 return ;
@@ -247,7 +252,7 @@ void QtMeshCloudSession::uploadPackageFromAssets(const CloudPackageUploadRequest
247252 invokeUploadProgress (self, i + 1 , total + 1 , descriptors.at (i).uploadName );
248253
249254 const auto result = QtMeshCloudClient::uploadFileContent (
250- token, uploadUrls.uploads .at (i), descriptors.at (i).path , canceled);
255+ token, uploadUrls.uploads .at (i), descriptors.at (i).path , canceled. get () );
251256 if (result.canceled ) {
252257 invokeUploadCanceled (self);
253258 return ;
@@ -288,13 +293,13 @@ void QtMeshCloudSession::uploadPackageFromAssets(const CloudPackageUploadRequest
288293 reportWarning = QStringLiteral (" File uploaded, but analysis report upload failed." );
289294 if (!reportResult.errorString .isEmpty ())
290295 reportWarning += QStringLiteral (" \n\n " ) + reportResult.errorString ;
291- SentryReporter::addBreadcrumb (QStringLiteral (" cloud.upload " ),
296+ SentryReporter::addBreadcrumb (QStringLiteral (" file.export " ),
292297 reportWarning,
293298 QStringLiteral (" warning" ));
294299 }
295300 }
296301
297- SentryReporter::addBreadcrumb (QStringLiteral (" cloud.upload " ),
302+ SentryReporter::addBreadcrumb (QStringLiteral (" file.export " ),
298303 QStringLiteral (" QtMesh Cloud package upload completed" ));
299304 invokeUploadFinished (self, true , reportWarning, project.projectUrl , completed.scanStatus );
300305 });
@@ -310,9 +315,10 @@ void QtMeshCloudSession::startUploadWorker(const PackageMetadata& package,
310315{
311316 const QString token = m_bearerToken;
312317 QPointer<QtMeshCloudSession> self (this );
318+ const std::shared_ptr<std::atomic_bool> canceled = m_uploadCancelFlag;
313319
314320 QThread* worker = QThread::create ([self, token, package, ownerSlug, projectSlug, createNewProject,
315- canceled = &m_canceled ]() {
321+ canceled]() {
316322 if (canceled->load ()) {
317323 invokeUploadCanceled (self);
318324 return ;
@@ -380,7 +386,7 @@ void QtMeshCloudSession::startUploadWorker(const PackageMetadata& package,
380386 invokeUploadProgress (self, i + 1 , total + 1 , descriptors.at (i).uploadName );
381387
382388 const auto result = QtMeshCloudClient::uploadFileContent (
383- token, uploadUrls.uploads .at (i), descriptors.at (i).path , canceled);
389+ token, uploadUrls.uploads .at (i), descriptors.at (i).path , canceled. get () );
384390 if (result.canceled ) {
385391 invokeUploadCanceled (self);
386392 return ;
@@ -421,13 +427,13 @@ void QtMeshCloudSession::startUploadWorker(const PackageMetadata& package,
421427 reportWarning = QStringLiteral (" File uploaded, but analysis report upload failed." );
422428 if (!reportResult.errorString .isEmpty ())
423429 reportWarning += QStringLiteral (" \n\n " ) + reportResult.errorString ;
424- SentryReporter::addBreadcrumb (QStringLiteral (" cloud.upload " ),
430+ SentryReporter::addBreadcrumb (QStringLiteral (" file.export " ),
425431 reportWarning,
426432 QStringLiteral (" warning" ));
427433 }
428434 }
429435
430- SentryReporter::addBreadcrumb (QStringLiteral (" cloud.upload " ),
436+ SentryReporter::addBreadcrumb (QStringLiteral (" file.export " ),
431437 QStringLiteral (" QtMesh Cloud package upload completed" ));
432438 invokeUploadFinished (self, true , reportWarning, project.projectUrl , completed.scanStatus );
433439 });
0 commit comments