summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-10-19 17:20:23 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-10-19 21:05:58 +0200
commitfeb21e498afa8d6fd12a82fb56a2456b2db83e24 (patch)
tree9a03141189044920a6c4730ed32f62908acd521d /vcl
parent54960717cded98c5f73a752271375daf08129a18 (diff)
Resolves: tdf#128241 reuse label to retain buildable_name
Change-Id: Ib5cb31279fdf6e2fa83ea46625c320185992bca1 Reviewed-on: https://gerrit.libreoffice.org/81136 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.cxx16
1 files changed, 15 insertions, 1 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 0d8f4d30b7c1..0b93a5a3f270 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -5370,7 +5370,21 @@ private:
static void set_tab_label_text(GtkNotebook *pNotebook, guint nPage, const OUString& rText)
{
- gtk_notebook_set_tab_label_text(pNotebook, gtk_notebook_get_nth_page(pNotebook, nPage), rText.toUtf8().getStr());
+ OString sUtf8(rText.toUtf8());
+
+ GtkWidget* pPage = gtk_notebook_get_nth_page(pNotebook, nPage);
+
+ // tdf#128241 if there's already a label here, reuse it so the buildable
+ // name remains the same, gtk_notebook_set_tab_label_text will replace
+ // the label widget with a new one
+ GtkWidget* pTabWidget = gtk_notebook_get_tab_label(pNotebook, pPage);
+ if (pTabWidget && GTK_IS_LABEL(pTabWidget))
+ {
+ gtk_label_set_label(GTK_LABEL(pTabWidget), sUtf8.getStr());
+ return;
+ }
+
+ gtk_notebook_set_tab_label_text(pNotebook, pPage, sUtf8.getStr());
}
void append_useless_page(GtkNotebook *pNotebook)