[haiku-commits] Change in haiku[master]: Interface kit: allow get_key_repeat_{rate,delay} to fail

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: waddlesplash <waddlesplash@xxxxxxxxx>, haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 19 Jun 2022 13:21:41 +0000

From Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>:

Adrien Destugues has uploaded this change for review. ( 
https://review.haiku-os.org/c/haiku/+/5385 ;)


Change subject: Interface kit: allow get_key_repeat_{rate,delay} to fail
......................................................................

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
---
M src/kits/interface/InterfaceDefs.cpp
1 file changed, 14 insertions(+), 4 deletions(-)



  git pull ssh://git.haiku-os.org:22/haiku refs/changes/85/5385/1

diff --git a/src/kits/interface/InterfaceDefs.cpp 
b/src/kits/interface/InterfaceDefs.cpp
index 8882089..b76f864 100644
--- a/src/kits/interface/InterfaceDefs.cpp
+++ b/src/kits/interface/InterfaceDefs.cpp
@@ -716,10 +716,15 @@
        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 @@
        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;
 }

--
To view, visit https://review.haiku-os.org/c/haiku/+/5385
To unsubscribe, or for help writing mail filters, visit 
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I706cded7c780d913d4f36164596b2b7794db6f22
Gerrit-Change-Number: 5385
Gerrit-PatchSet: 1
Gerrit-Owner: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Gerrit-MessageType: newchange

Other related posts:

  • » [haiku-commits] Change in haiku[master]: Interface kit: allow get_key_repeat_{rate,delay} to fail - Gerrit