Merge branch 'serial' into 'master'
imservice: Increment serials on receiving done, not sending commit See merge request Librem5/squeekboard!426
This commit is contained in:
@ -294,8 +294,8 @@
|
|||||||
|
|
||||||
The serial number reflects the last state of the zwp_input_method_v2
|
The serial number reflects the last state of the zwp_input_method_v2
|
||||||
object known to the client. The value of the serial argument must be
|
object known to the client. The value of the serial argument must be
|
||||||
equal to the number of commit requests already issued on that object.
|
equal to the number of done events already issued on that object.
|
||||||
When the compositor receives a done event with a serial different than
|
When the compositor receives a commit request with a serial different than
|
||||||
the number of past commit requests, it must proceed as normal, except
|
the number of past commit requests, it must proceed as normal, except
|
||||||
it should not change the current state of the zwp_input_method_v2
|
it should not change the current state of the zwp_input_method_v2
|
||||||
object.
|
object.
|
||||||
|
|||||||
@ -149,6 +149,8 @@ pub mod c {
|
|||||||
..IMProtocolState::default()
|
..IMProtocolState::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imservice.serial += Wrapping(1u32);
|
||||||
|
|
||||||
if active_changed {
|
if active_changed {
|
||||||
(imservice.active_callback)(imservice.current.active);
|
(imservice.active_callback)(imservice.current.active);
|
||||||
if imservice.current.active {
|
if imservice.current.active {
|
||||||
@ -404,7 +406,6 @@ impl IMService {
|
|||||||
unsafe {
|
unsafe {
|
||||||
c::eek_input_method_commit(self.im, self.serial.0)
|
c::eek_input_method_commit(self.im, self.serial.0)
|
||||||
}
|
}
|
||||||
self.serial += Wrapping(1u32);
|
|
||||||
Ok(())
|
Ok(())
|
||||||
},
|
},
|
||||||
false => Err(SubmitError::NotActive),
|
false => Err(SubmitError::NotActive),
|
||||||
|
|||||||
Reference in New Issue
Block a user