• Michael Meeks's avatar
    lok: disable VCL painting and whole window invalidation. · a876de01
    Michael Meeks yazdı
    The reasoning is somewhat complex:
    
    void Window::ImplInvalidateFrameRegion( const vcl::Region* pRegion, InvalidateFlags nFlags )
    
    sets the mnPaintFlags on the mpWindowImpl - and then queues an idle
    paint. This paint in LOK mode does ~nothing - since all rendering is
    tiled, although amazingly it does emit eg. selection callbacks.
    
    However the paint flag - changes the behavior of Window::Update() to
    force a complete window invalidate. This happens, but only rarely -
    when a key-event manages to get into the mainloop before the idle
    paint handler arrives and does nothing (except clear the paint flags).
    
    So - don't do these big invalidations we don't need to in lok mode,
    unless it is for dialogs - which presumably Pranav wanted fixed by
    625087b5.
    
    Change-Id: I88dda34b8d8bba9c89296d883ad9169fe49a7c5e
    Reviewed-on: https://gerrit.libreoffice.org/71395
    Tested-by: Jenkins
    Reviewed-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
    a876de01
paint.cxx 61.2 KB