summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/gtk_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2ext/gtk_ui.cc')
-rw-r--r--libs/gtkmm2ext/gtk_ui.cc9
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 {