qp_lvgl_flush() called lv_disp_flush_ready() only inside the
`if (selected_display)` block. When LVGL invokes the flush callback while
selected_display is NULL, the callback returns without ever signalling
completion, so LVGL keeps the flush marked "in progress" and stalls all
further rendering.
Move lv_disp_flush_ready() out of the conditional so it is always called,
per LVGL's contract that every flush_cb must signal ready exactly once.