diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-11-06 10:50:36 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-11-06 13:09:48 +0100 |
commit | f7bc0204a80a4f078c63f93b9892904686ad5b36 (patch) | |
tree | a467757bf59ca1cd8a3d1b39c2fc90ababc45427 /vcl | |
parent | dcd12b88ecb04766850159043b304cdf965924c1 (diff) |
erase matching container if notebook page removed
Change-Id: I15c1bb40f301684e58adcf7d366d7fa1bd171b04
Reviewed-on: https://gerrit.libreoffice.org/82136
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 584ffe3266c0..d67eb85a4d5e 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -5366,11 +5366,13 @@ private: return -1; } - void remove_page(GtkNotebook *pNotebook, const OString& rIdent) + int remove_page(GtkNotebook *pNotebook, const OString& rIdent) { disable_notify_events(); - gtk_notebook_remove_page(pNotebook, get_page_number(pNotebook, rIdent)); + int nPageNumber = get_page_number(pNotebook, rIdent); + gtk_notebook_remove_page(pNotebook, nPageNumber); enable_notify_events(); + return nPageNumber; } static OUString get_tab_label_text(GtkNotebook *pNotebook, guint nPage) @@ -5874,7 +5876,10 @@ public: unsplit_notebooks(); reset_split_data(); } - remove_page(m_pNotebook, rIdent); + + unsigned int nPageIndex = remove_page(m_pNotebook, rIdent); + if (nPageIndex < m_aPages.size()) + m_aPages.erase(m_aPages.begin() + nPageIndex); } virtual void append_page(const OString& rIdent, const OUString& rLabel) override |