Skip to content
  • Martin Flöser's avatar
    Don't crash if the cursor theme fails to create · 2ea5153e
    Martin Flöser authored
    Summary:
    If the cursor theme failed to create KWin crashed due to an endless
    recursion. There are two reasons for this fault:
    1) When the physical size does not exist we perform a division by 0
    which results in an invalid size going into wl_cursor_theme_load
    2) We emit the signal that the cursor theme changed even if it didn't
    change thus creating an endless recursion
    
    This change addresses both problems: it checks that the size is not 0
    and changes the handling for theme update to only destroy the previous
    theme if the new theme could be created and only emits the signal if
    things change.
    
    BUG: 390314
    FIXED-IN: 5.12.3
    
    Test Plan: Added a new test case which crashed with old code
    
    Reviewers: #kwin, #plasma
    
    Subscribers: plasma-devel, kwin
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D10549
    2ea5153e