aboutsummaryrefslogtreecommitdiffstats
path: root/ui/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'ui/gtk')
-rw-r--r--ui/gtk/service_response_time_table.c15
-rw-r--r--ui/gtk/service_response_time_table.h3
2 files changed, 16 insertions, 2 deletions
diff --git a/ui/gtk/service_response_time_table.c b/ui/gtk/service_response_time_table.c
index efc3869246..7e80c07770 100644
--- a/ui/gtk/service_response_time_table.c
+++ b/ui/gtk/service_response_time_table.c
@@ -700,7 +700,7 @@ init_srt_tables(register_srt_t* srt, const char *filter)
srt_t *ss;
gchar *str;
GtkWidget *label;
- char *filter_string;
+ char *filter_string, *tmp_filter_string;
GString *error_string;
GtkWidget *bbox;
GtkWidget *close_bt;
@@ -724,9 +724,20 @@ init_srt_tables(register_srt_t* srt, const char *filter)
gtk_box_pack_start(GTK_BOX(ss->gtk_data.vbox), label, FALSE, FALSE, 0);
g_free(str);
- filter_string = g_strdup_printf("Filter: %s", filter ? filter : "");
+ if ((filter != NULL) && (strlen(filter) > MAX_FILTER_STRING_LENGTH))
+ {
+ tmp_filter_string = g_strndup(filter, MAX_FILTER_STRING_LENGTH);
+ filter_string = g_strdup_printf("Filter: %s...", tmp_filter_string);
+ g_free(tmp_filter_string);
+ }
+ else
+ {
+ filter_string = g_strdup_printf("Filter: %s", filter ? filter : "");
+ }
+
label=gtk_label_new(filter_string);
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
+ gtk_widget_set_tooltip_text (label, filter ? filter : "");
g_free(filter_string);
gtk_box_pack_start(GTK_BOX(ss->gtk_data.vbox), label, FALSE, FALSE, 0);
diff --git a/ui/gtk/service_response_time_table.h b/ui/gtk/service_response_time_table.h
index 5b34104fdd..3b8e5915a9 100644
--- a/ui/gtk/service_response_time_table.h
+++ b/ui/gtk/service_response_time_table.h
@@ -35,6 +35,9 @@
/** Suggested height of SRT window */
#define SRT_PREFERRED_HEIGHT 400
+/** Limit filter string length for sanity */
+#define MAX_FILTER_STRING_LENGTH 1000
+
/** @file
* Helper routines common to all service response time statistics tap.
*/