From e64e4ea6aff9992bb26cc8406808907876f994f3 Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Mon, 17 Aug 2026 22:18:31 +0900 Subject: [PATCH] wl: the owner poll does not need the picture It took the engine's picture and drew it, then took the popup straight back down: a buffer allocated, filled and attached for nothing, and for one frame it was another context's candidates at our client's cursor. The drain it was doing is not needed either. redraw() empties drawc before every send, so the channel holds at most one picture and that picture is always lastdraw -- what the engine wants shown now, whoever owns it. A later take therefore cannot show something stale: either our own key replaced it, or the engine suppressed the send because our snapshot is that same picture. Co-Authored-By: Claude Opus 5 (1M context) --- wl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/wl.c b/wl.c index 2107be7..ef9cac6 100644 --- a/wl.c +++ b/wl.c @@ -604,7 +604,6 @@ checkowner(void) sendrequest(Keycap, 0, 0, &res); if(res.eaten) return; - takedraw(); hidepopup(); if(preshown){ zwp_input_method_v2_set_preedit_string(im, "", 0, 0);