Fix displaying ITIP invitations

Authored by dvratil on Apr 30 2016, 1:05 PM.

Description

Fix displaying ITIP invitations

Probably some OTP refactoring broke displaying of ITIP invitation.
This patch fixes the problem. It may not fix the root cause of the
problem, but at least it makes ITIP invitations work again.

What happens is that OTP::parseObjectTreeInternal() first calls
Formatter::format() without the asyncResultObserver. Without this
patch it still creates the new memento, but does not connect it to
the observer. Then OTP calls the Formatter again immediatelly after,
but this time with a valid asyncResultObserver. Because the memento
already exists, this only triggers the codepath that checks whether
the memento is finished (which it is not) and exists. When the memento
is finished nothing happens, because it wasn't initially connected
to the observer to force update of the Viewer.

With this patch we don't create the memento if there is no
asyncResultObserver. That means that the next time the Formatter is
called with a valid asyncResultObserver we create the memento and
connect it to the observer. Once the memento is finished, the Viewer
is updated and the invitation is displayed correctly.

Differential Revision: https://phabricator.kde.org/D1512

Details

Committed
dvratilApr 30 2016, 1:05 PM
Differential Revision
D1512: Fix displaying ITIP invitations
Parents
R81:550c152b2dd7: Merge remote-tracking branch 'origin/Applications/16.04'
Branches
Unknown
Tags
Unknown