Skip to content
  • Carlos Garnacho's avatar
    text-input: Reword the interpretation of serials to be more specific · 37fa0f4a
    Carlos Garnacho authored and Jonas Ådahl's avatar Jonas Ådahl committed
    Here's a long story. The serial is formerly described as:
      When the client receives a done event with a serial different than the
      number of past commit requests, it must proceed as normal, except it
      should not change the current state of the zwp_text_input_v3 object.
    Upon first reading it might be obvious to interpret "proceed as normal"
    as "apply the changes made by the done event" and "not change the current
    state" as "do not make requests on it until serial matches with
    expectations again". This would turn the serial into a flow control
    mechanism to avoid pushing state changes that we know might be stale.
    GTK however makes another outlandish interpretation, where "proceed as
    normal" means "ignore the changes made by the done event" and "not change
    state of the zwp_text_input_v3 object" is "not change client state". This
    makes the serial a full synchronization mechanism where IM commands that
    are deemed out of sync are symply i...