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) <noreply@anthropic.com>
17 KiB
17 KiB