Two issues with window shading: 1. wShadeWindow resizes the frame to top_width-1 tall. wl_frame_paint used the unclamped fwin->top_width as titlebar blit height, writing one row past the pixman buffer. Heap corruption detected by glibc on next free (RReleaseImage) caused SIGABRT. Fix: clamp tb_h to total_h. 2. The parent frame scene_buf was only enabled when show_resizebar was true. When the titlebar child buffer is too narrow (falls back to drawing into the parent), the shaded frame had its scene_buf disabled and the titlebar was invisible. Fix: also enable the parent scene_buf when the titlebar was drawn into it (no titlebar child found). |
||
|---|---|---|
| .. | ||
| wayland | ||
| x11 | ||
| backend.h | ||
| backend_types.h | ||
| wm_backend.c | ||