fix adw_tab_view_insert: assertion 'position >= self->n_pinned_pages'

This commit is contained in:
yggverse 2024-11-07 21:50:08 +02:00
parent 7079cc7230
commit 67fa869c57

View File

@ -25,7 +25,16 @@ impl Widget {
is_selected: bool,
) -> Arc<Self> {
let gobject = match position {
Some(number) => tab_view.insert(child, number),
Some(value) => {
// If given `position` match pinned tab, GTK will panic with notice:
// adw_tab_view_insert: assertion 'position >= self->n_pinned_pages'
// as the solution, prepend new page after pinned tabs on this case
if value > tab_view.n_pinned_pages() {
tab_view.insert(child, value)
} else {
tab_view.prepend(child)
}
}
None => tab_view.append(child),
};