Skip to content
  • Daniel Vrátil's avatar
    Fix displaying ITIP invitations · e8171ce1
    Daniel Vrátil authored
    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
    e8171ce1