Browse Source

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

master
yggverse 3 weeks ago
parent
commit
67fa869c57
  1. 11
      src/app/browser/window/tab/item/widget.rs

11
src/app/browser/window/tab/item/widget.rs

@ -25,7 +25,16 @@ impl Widget { @@ -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),
};

Loading…
Cancel
Save