Interface kit: allow get_key_repeat_{rate,delay} to fail
These functions should return an error if the input_server is not running. They still give the default value in this case, but they now return an error code. Change-Id: I706cded7c780d913d4f36164596b2b7794db6f22 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5385 Tested-by: Commit checker robot <[email protected]> Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
@@ -716,10 +716,15 @@ get_key_repeat_rate(int32 *rate)
|
||||
BMessage command(IS_GET_KEY_REPEAT_RATE);
|
||||
BMessage reply;
|
||||
|
||||
_control_input_server_(&command, &reply);
|
||||
status_t err = _control_input_server_(&command, &reply);
|
||||
|
||||
if (reply.FindInt32("rate", rate) != B_OK)
|
||||
if (err == B_OK)
|
||||
err = reply.FindInt32("rate", rate);
|
||||
|
||||
if (err != B_OK) {
|
||||
*rate = 250000;
|
||||
return err;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
@@ -741,10 +746,15 @@ get_key_repeat_delay(bigtime_t *delay)
|
||||
BMessage command(IS_GET_KEY_REPEAT_DELAY);
|
||||
BMessage reply;
|
||||
|
||||
_control_input_server_(&command, &reply);
|
||||
status_t err = _control_input_server_(&command, &reply);
|
||||
|
||||
if (reply.FindInt64("delay", delay) != B_OK)
|
||||
if (err == B_OK)
|
||||
err = reply.FindInt64("delay", delay);
|
||||
|
||||
if (err != B_OK) {
|
||||
*delay = 200;
|
||||
return err;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user