Skip to content
  • Adam Jackson's avatar
    composite: Fix repaint of borders (v2) · 543287e6
    Adam Jackson authored
    When going from border width zero to a non-zero border width, the
    Composite extension is informed via the ConfigNotify callback. The
    call-chain looks like this: compConfigNotify -> compReallocPixmap ->
    compSetPixmap -> TraverseTree -> compSetPixmapVisitWindow. However, at
    this time, pWindow->borderWidth was not yet updated. Thus, HasBorder()
    is false and the window border will not be repainted.
    
    To fix this, thread the new bw through to the window visitor, and
    inspect that rather than HasBorder(). For the other callers of
    compSetPixmap the border does not change size, so we can pass
    pWin->borderWidth instead.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98499
    
    
    Signed-off-by: default avatarAdam Jackson <ajax@redhat.com>
    Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
    (cherry picked from commit f3187551)
    543287e6