From 016ba2caf37ca255c99de2fe7c0804a5975750ff Mon Sep 17 00:00:00 2001 From: Marianne Gagnon Date: Sat, 6 Sep 2014 17:58:59 -0400 Subject: [PATCH] Fix #1499 --- src/guiengine/widgets/ribbon_widget.cpp | 22 ++++++++++++++-------- src/states_screens/gp_info_screen.cpp | 2 ++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/guiengine/widgets/ribbon_widget.cpp b/src/guiengine/widgets/ribbon_widget.cpp index c82d7bd5f..cc379cd7c 100644 --- a/src/guiengine/widgets/ribbon_widget.cpp +++ b/src/guiengine/widgets/ribbon_widget.cpp @@ -722,15 +722,21 @@ EventPropagation RibbonWidget::transmitEvent(Widget* w, // ---------------------------------------------------------------------------- void RibbonWidget::setLabel(const unsigned int id, irr::core::stringw new_name) { - // This method should only be called AFTER a widget is added - assert(m_element != NULL); + if (m_element == NULL) + { + // before adding + m_children[id].setText(new_name); + } + else + { + // after adding + // ignore this call for ribbons without labels + if (m_labels.size() == 0) return; - // ignore this call for ribbons without labels - if (m_labels.size() == 0) return; - - assert(id < m_labels.size()); - m_labels[id].setText( new_name.c_str() ); - m_text = new_name; + assert(id < m_labels.size()); + m_labels[id].setText(new_name.c_str()); + //m_text = new_name; + } } // setLabel // ---------------------------------------------------------------------------- diff --git a/src/states_screens/gp_info_screen.cpp b/src/states_screens/gp_info_screen.cpp index 59eea6a65..5efdee60c 100644 --- a/src/states_screens/gp_info_screen.cpp +++ b/src/states_screens/gp_info_screen.cpp @@ -134,12 +134,14 @@ void GPInfoScreen::beforeAddingWidget() RibbonWidget* ribbonButtons = getWidget("buttons"); int id_continue_button = ribbonButtons->findItemNamed("continue"); ribbonButtons->setItemVisible(id_continue_button, saved_gp != NULL); + ribbonButtons->setLabel(id_continue_button, _("Continue saved GP")); } else { RibbonWidget* ribbonButtons = getWidget("buttons"); int id_continue_button = ribbonButtons->findItemNamed("continue"); ribbonButtons->setItemVisible(id_continue_button, true); + ribbonButtons->setLabel(id_continue_button, _("Reload")); } }