Skip to content

Commit

Permalink
Fix error spam when adding tabs to TabBar without deselect
Browse files Browse the repository at this point in the history
`current` was allowed to be `-1` when deselection was disabled, causing
errors in other methods when updating the size.
  • Loading branch information
AThousandShips committed Feb 20, 2024
1 parent b8f106a commit a56c03d
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions scene/gui/tab_bar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,10 @@ void TabBar::set_tab_count(int p_count) {
offset = MIN(offset, p_count - 1);
max_drawn_tab = MIN(max_drawn_tab, p_count - 1);
current = MIN(current, p_count - 1);
// Fix range if unable to deselect.
if (current == -1 && !_can_deselect()) {
current = 0;
}

_update_cache();
_ensure_no_over_offset();
Expand Down Expand Up @@ -1557,10 +1561,7 @@ bool TabBar::_can_deselect() const {
}

void TabBar::ensure_tab_visible(int p_idx) {
if (!is_inside_tree() || !buttons_visible) {
return;
}
if (p_idx == -1 && _can_deselect()) {
if (p_idx == -1 || !is_inside_tree() || !buttons_visible) {
return;
}
ERR_FAIL_INDEX(p_idx, tabs.size());
Expand Down

0 comments on commit a56c03d

Please sign in to comment.