Skip to content
  • Vlad Zahorodnii's avatar
    [effects] Ignore previous state of WindowForceBlurRole · e9ab3485
    Vlad Zahorodnii authored
    Summary:
    Currently, effects like Maximize, Slide Back have problems with setting
    WindowForceBlurRole. They store previous state of WindowForceBlurRole.
    This is wrong. Instead they should either ignore previous state of
    WindowForceBlur or refcount forced role.
    
    There's no need for refcounting right now. For example, if several effects
    force blur or background contrast, they are most likely in a conflict.
    Please notice that the Desktop Grid effect uses the Present Windows
    effect only to calculate transformations.
    
    Some other problems with the code that sets WindowForceBlurRole:
    * Maximize effect stores previous state of WindowForceBlurRole only
      for one window. It ignores the fact that there could be several
      active maximize animations;
    * Desktop Grid/Present Windows/Slide back don't clean after themselves.
      So, after using those effects for good amount of times, memory usage
      will bump.
    
    Test Plan:
    * Enabled blur for Konsole
    * Maximized Konsole
    * Activated Present Windows
    * Activated Desktop Grid
    * Raised another window(to trigger Slide Back)
    
    Reviewers: #kwin, fredrik
    
    Reviewed By: fredrik
    
    Subscribers: fredrik, kwin
    
    Tags: #kwin
    
    Differential Revision: https://phabricator.kde.org/D13479
    e9ab3485