diff options
| author | Ashesh Ambasta <ashesh.ambasta@gmail.com> | 2026-05-27 16:23:56 +0200 |
|---|---|---|
| committer | Ashesh Ambasta <ashesh.ambasta@gmail.com> | 2026-05-29 10:31:36 +0200 |
| commit | 2c7399e3590cccd23b834f4b76193d918be56bb4 (patch) | |
| tree | 908d8aa990cfda0929274102cf9477257c52b3bf /changelog.md | |
| parent | 6cf589469e7d93c20522b3c0ae616255766759e1 (diff) | |
| download | xmobar-2c7399e3590cccd23b834f4b76193d918be56bb4.tar.gz xmobar-2c7399e3590cccd23b834f4b76193d918be56bb4.tar.bz2 | |
Skip root pixmap access when alpha == 255
When alpha is 255 (fully opaque), the pseudo-transparency blend factor
is zero (0xFFFF - 257 * 255 = 0), making the root pixmap composite a
visual no-op. However, drawBackground unconditionally calls
XRenderCreatePicture on the _XROOTPMAP_ID pixmap.
Wallpaper setters like feh free the old root pixmap via XKillClient
each time they cycle to a new image. If xmobar attempts
XRenderCreatePicture on the freed pixmap, the X server returns
BadDrawable and the default error handler terminates xmobar.
Guard the entire root pixmap code path with `when (alpha < 255)` so
that fully opaque bars never touch _XROOTPMAP_ID.
Diffstat (limited to 'changelog.md')
| -rw-r--r-- | changelog.md | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.md b/changelog.md index aeb07e3..bc56e1d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,6 @@ ## Version 0.51 (unrelease) +- Fix BadDrawable crash when wallpaper setters free the root pixmap while alpha is 255 - base dependency relaxed to 4.21 ## Version 0.50 (June, 2025) |
