diff options
Diffstat (limited to 'libs/gtkmm2ext/gtk_ui.cc')
-rw-r--r-- | libs/gtkmm2ext/gtk_ui.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/gtkmm2ext/gtk_ui.cc b/libs/gtkmm2ext/gtk_ui.cc index 0da8438045..c321d94d4f 100644 --- a/libs/gtkmm2ext/gtk_ui.cc +++ b/libs/gtkmm2ext/gtk_ui.cc @@ -483,7 +483,14 @@ UI::do_request (UIRequest* req) } else if (req->type == SetTip) { - gtk_widget_set_tooltip_markup (req->widget->gobj(), req->msg); + gchar* old = gtk_widget_get_tooltip_markup (req->widget->gobj()); + if ( + (old && req->msg && strcmp (old, req->msg)) + || + ((old == NULL) != (req->msg == NULL || req->msg[0] == '\0')) + ) { + gtk_widget_set_tooltip_markup (req->widget->gobj(), req->msg); + } } else { |