[input_reader] Don't continue if ParseButtons fails
In the event that ParseButtonsReport fails reading buttons, there's
no use trying to continue. Return early in this case to prevent a
flood of log messages like:
proxy_controller.cc:54: Tried to decode a bad union discriminant, type
fuchsia.ui.input/....
fdio_hid_decoder.cc(521)] Failed to read from input: -1
input_interpreter.cc(1008)] failed reading from buttons
TEST: Built+paved, unplugged usb sound card which has headset buttons
Change-Id: I29d3f8edc6f0effc949bb57e1af708fea162a367
diff --git a/bin/ui/input_reader/input_interpreter.cc b/bin/ui/input_reader/input_interpreter.cc
index 2ee4783..834ff9a 100644
--- a/bin/ui/input_reader/input_interpreter.cc
+++ b/bin/ui/input_reader/input_interpreter.cc
@@ -501,7 +501,9 @@
}
if (has_buttons_) {
- ParseButtonsReport();
+ if (!ParseButtonsReport())
+ return false;
+
if (!discard) {
input_device_->DispatchReport(CloneReport(buttons_report_));
}