kitty icon indicating copy to clipboard operation
kitty copied to clipboard

Fix message recursion between wayland compositor (#5360)

Open wengxt opened this issue 3 years ago • 2 comments
trafficstars

  1. Only update preedit if preedit changed.
  2. Only send cursor update if cursor position is not changed.

wengxt avatar Aug 11 '22 22:08 wengxt

I dont follow the need for this. kitty already doesnt send anything in response to done events.

kovidgoyal avatar Aug 12 '22 00:08 kovidgoyal

I dont follow the need for this. kitty already doesnt send anything in response to done events.

the reason is that it’s triggered by preedit update when preedit is same. not explicitly reply anything to done.

wengxt avatar Aug 12 '22 01:08 wengxt

On Thu, Aug 11, 2022 at 06:52:57PM -0700, Weng Xuetian wrote:

I dont follow the need for this. kitty already doesnt send anything in response to done events.

the reason is that it’s triggered by preedit update when preedit is same. not explicitly reply anything to done.

But does that actually cause an infinite recursion? And if so, why? And why does it not show up under mutter?

kovidgoyal avatar Oct 11 '22 09:10 kovidgoyal

On Thu, Aug 11, 2022 at 06:52:57PM -0700, Weng Xuetian wrote: > I dont follow the need for this. kitty already doesnt send anything in response to done events. the reason is that it’s triggered by preedit update when preedit is same. not explicitly reply anything to done. But does that actually cause an infinite recursion? And if so, why? And why does it not show up under mutter?

Sorry, but I can easily reproduce it under mutter. You need to use an input method that has preedit.

wengxt avatar Oct 18 '22 01:10 wengxt

Upload a video as proof.

https://user-images.githubusercontent.com/259684/196316515-e0509b43-b009-4919-9953-248d54ad31a3.mp4

wengxt avatar Oct 18 '22 01:10 wengxt

On Thu, Aug 11, 2022 at 06:52:57PM -0700, Weng Xuetian wrote: > I dont follow the need for this. kitty already doesnt send anything in response to done events. the reason is that it’s triggered by preedit update when preedit is same. not explicitly reply anything to done. But does that actually cause an infinite recursion? And if so, why? And why does it not show up under mutter?

Sorry, but I can easily reproduce it under mutter. You need to use an input method that has preedit.

Then please specify how I can reproduce it. Which input method, and what kep presses to trigger it.

kovidgoyal avatar Oct 18 '22 02:10 kovidgoyal

On Thu, Aug 11, 2022 at 06:52:57PM -0700, Weng Xuetian wrote: > I dont follow the need for this. kitty already doesnt send anything in response to done events. the reason is that it’s triggered by preedit update when preedit is same. not explicitly reply anything to done. But does that actually cause an infinite recursion? And if so, why? And why does it not show up under mutter?

Sorry, but I can easily reproduce it under mutter. You need to use an input method that has preedit.

Then please specify how I can reproduce it. Which input method, and what kep presses to trigger it.

Any input method that has preedit can be used to reproduce. ibus-rime, ibus-libpinyin, ibus-chewing, mozc, etc... rime might be the easiest one for you to find since it's just listed as "Rime" under Chinese in gnome-control-center.

Those listed above should be able to produce some preedit if you just press any A-Z key.

wengxt avatar Oct 18 '22 13:10 wengxt

Ok I'll take a look at this a little later, thanks.

kovidgoyal avatar Oct 18 '22 14:10 kovidgoyal