Commit 4c98f59e authored by Daniel Vrátil's avatar Daniel Vrátil 🤖

Fix handling of collectionChanged() in AgentBase

Since both overloads get called by Monitor, the first one would realize
the second one is implemented and instead of ignoring the change it would
call changeProcessed(). When the second overload gets called and dispatches
an actual task, when the task finished and called changeProcessed(), it
had effectively skipped a task, breaking the delicate Resource state machine

BUG: 403642
FIXED-IN: 5.11
parent 06f1a32b
......@@ -707,7 +707,7 @@ void AgentBasePrivate::collectionChanged(const Akonadi::Collection &collection)
AgentBase::ObserverV2 *observer2 = dynamic_cast<AgentBase::ObserverV2 *>(mObserver);
if (mObserver && observer2 == nullptr) { // For ObserverV2 we use the variant with the part identifiers
mObserver->collectionChanged(collection);
} else {
} else if (!mObserver) {
changeProcessed();
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment