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.