Skip to content

clutter/input-method: Check for equality before notifying properties

ClutterInputMethods content hint or purpose will be set again (even to the same values) whenever a wayland client sends us a new content type/purpose. Gtk appears to always set a content purpose on wl_text_input changes, so we currently set and notify the "content-purpose" property on every change in a gtk text field.

Since the OSK is gnome-shell listens to this property and re-generates its entire layout when the content-purpose prop gets notified, this is currently causing lag/freezes on every keypress in the OSK in gnome-shell.

So ensure to not notify these properties in case they're equal and set the properties in the same way as we usually set them instead of going via GObject.

Merge request reports