Skip to content
  • Daniel Boles's avatar
    Notebook: Ensure menu_label updates with tab_label · 80a3d709
    Daniel Boles authored
    This was noticed in Firefox and demonstrated using a GtkBuilder ui file.
    buildable_add_child() calls set_tab_label(), but the latter did nothing
    to update the menu_label corresponding to that tab with the new text.
    Using Builder to populate the tab child, only tabs other than last got
    the right non-default labels, and even that was mostly coincidental, as
    adding the main child called update_labels() via real_insert_page(), so
    it took effect when the 2nd last main child is added, updating the rest
    but leaving the last with the default label, not that given in Builder.
    
    Fix by factoring out the code from child_reordered() to a new helper
    menu_item_recreate() and calling that in set_tab_label(), so that
    whenever the tab_label is updated, so is its corresponding menu_label.
    
    This fixes the reported case and presumably others that we could write.
    
    fixes #1397
    80a3d709