diff options
Diffstat (limited to 'examples/imapresource/imapresource.cpp')
-rw-r--r-- | examples/imapresource/imapresource.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp index 50deacd..afa72fa 100644 --- a/examples/imapresource/imapresource.cpp +++ b/examples/imapresource/imapresource.cpp | |||
@@ -400,6 +400,9 @@ public: | |||
400 | QByteArray getFolderFromLocalId(const QByteArray &id) | 400 | QByteArray getFolderFromLocalId(const QByteArray &id) |
401 | { | 401 | { |
402 | auto mailRemoteId = syncStore().resolveLocalId(ApplicationDomain::getTypeName<ApplicationDomain::Mail>(), id); | 402 | auto mailRemoteId = syncStore().resolveLocalId(ApplicationDomain::getTypeName<ApplicationDomain::Mail>(), id); |
403 | if (mailRemoteId.isEmpty()) { | ||
404 | return {}; | ||
405 | } | ||
403 | return folderIdFromMailRid(mailRemoteId); | 406 | return folderIdFromMailRid(mailRemoteId); |
404 | } | 407 | } |
405 | 408 | ||
@@ -419,6 +422,10 @@ public: | |||
419 | if (isIndividualMailSync(request)) { | 422 | if (isIndividualMailSync(request)) { |
420 | auto newId = request.query.ids().first(); | 423 | auto newId = request.query.ids().first(); |
421 | auto requestFolder = getFolderFromLocalId(newId); | 424 | auto requestFolder = getFolderFromLocalId(newId); |
425 | if (requestFolder.isEmpty()) { | ||
426 | SinkWarningCtx(mLogCtx) << "Failed to find folder for local id. Ignoring request: " << request.query; | ||
427 | return; | ||
428 | } | ||
422 | for (auto &r : queue) { | 429 | for (auto &r : queue) { |
423 | if (isIndividualMailSync(r)) { | 430 | if (isIndividualMailSync(r)) { |
424 | auto queueFolder = getFolderFromLocalId(r.query.ids().first()); | 431 | auto queueFolder = getFolderFromLocalId(r.query.ids().first()); |