Skip to content
  • Martin Flöser's avatar
    Do not unset cursor image when cursor enters a surface · e3250460
    Martin Flöser authored
    Summary:
    From Wayland documentation:
    "When a seat's focus enters a surface, the pointer image is undefined and
    a client should respond to this event by setting an appropriate pointer
    image with the set_cursor request."
    
    KWin's interpretation so far for the undefined pointer image was to
    remove the pointer image when entering a surface waiting for the client
    to set a cursor image. This can result in a short flicker as there might
    be a frame without a cursor image.
    
    This patch changes the behavior by keeping the previous image till the
    application set a new one. This brings some advantages:
     * if the application is not responding a cursor is still shown
     * if the same cursor is used as in the previous window we don't have a
    flicker
    
    CCBUG: 393639
    
    Test Plan: I cannot see the flicker, so only tested with the adjusted tests
    
    Reviewers: #kwin, #plasma
    
    Subscribers: kwin
    
    Tags: #kwin
    
    Differential Revision: https://phabricator.kde.org/D12631
    e3250460