• Vlad Zahorodnii's avatar
    effects/slidingpopups: Schedule workspace repaints · 8ca83ef1
    Vlad Zahorodnii authored
    For optimization purposes, kwin will ignore repaint regions scheduled by
    invisible windows, e.g. hidden docks, minimized windows, etc.
    
    The problem is that it sort of breaks w->addRepaintFull(). If a lot of
    animation frames are dropped, for example due to heavy cpu load, the
    sliding popups animation can jump from the middle of animation right up
    to the end. It will schedule a repaint but it will be ignored.
    
    In order to work around that issue, this change makes the sliding popups
    effect schedule workspace repaints in postPaintScreen() to ensure that
    the Scene will always repaint dirty regions.
    
    Hopefully, this should fix bugs where auto-hide panels sometimes flicker
    on Wayland.
    
    BUG: 444502
    
    
    (cherry picked from commit 1e634be2)
    8ca83ef1