diff --git a/src/gui/widget/hintbox.cpp b/src/gui/widget/hintbox.cpp index 3bbec4d24..27557b47d 100644 --- a/src/gui/widget/hintbox.cpp +++ b/src/gui/widget/hintbox.cpp @@ -198,8 +198,9 @@ void CHintBox::enableTimeOutBar(bool enable) const string tn = cc_item_type.name + ":timeout_bar:"; timeout_pb_timer->setThreadName(tn); } - if (timeout_pb_timer->OnTimer.empty()) - timeout_pb_timer->OnTimer.connect(sigc::mem_fun0(this, &CHintBox::showTimeOutBar)); + sl_tbar_on_timer.disconnect(); + sl_tbar_on_timer = sigc::mem_fun0(this, &CHintBox::showTimeOutBar); + timeout_pb_timer->OnTimer.connect(sl_tbar_on_timer); timeout_pb_timer->startTimer(); } } diff --git a/src/gui/widget/hintbox.h b/src/gui/widget/hintbox.h index 35758027b..5acd75559 100644 --- a/src/gui/widget/hintbox.h +++ b/src/gui/widget/hintbox.h @@ -62,6 +62,7 @@ class CHintBox : public CComponentsWindow int h_hint_obj; int w_indentation; bool enable_txt_scroll; + sigc::slot0 sl_tbar_on_timer; Font* hb_font;