• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ArduPilot / MethodicConfigurator / 27103690149

07 Jun 2026 08:19PM UTC coverage: 94.441% (-0.003%) from 94.444%
27103690149

push

github

amilcarlucas
fix(combobox): handle Tcl 9.0 empty-string return from current() in get_selected_key

Tcl 9.0 (bundled with uv standalone Python 3.10) changed the behavior of
ttk.Combobox.current(): when no item is selected it now returns "" (empty
string) instead of -1. The old guard `if i_index < 0` cannot handle this
because `self.tk.getint("")` raises TclError before the comparison is
reached, silently killing Tkinter event callbacks.

The broken callbacks left the ESC->FC protocol combobox entries in a stale
state (showing all options instead of the protocol-filtered subset), causing
four GUI integration tests to fail only on the Python 3.10 CI job:
- test_cascade_2_fc_esc_protocol_change_to_dshot150_expands_telem_type_widget_entries
- test_cascade_2_fc_esc_protocol_change_to_brushed_restricts_telem_type_widget_to_none
- test_cascade_3_telem_type_change_from_none_to_main_out_shows_bdshot_protocol_in_widget
- test_cascade_3_telem_type_change_from_none_to_serial_updates_protocol_widget

Fix get_selected_key() to catch TypeError (raised by the comparison on "")
and also guard explicitly against None/"" before the `< 0` check, so the
method safely returns None under both Tcl 8.6 and Tcl 9.0.

Signed-off-by: Amilcar do Carmo Lucas <amilcar.lucas@iav.de>

1948 of 2020 branches covered (96.44%)

12420 of 13151 relevant lines covered (94.44%)

2.83 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

82.77
/data_model_parameter_editor.py


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc