aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2010-06-09 21:33:57 -0400
committerSteven Rostedt <rostedt@goodmis.org>2010-06-09 21:33:57 -0400
commit2db91eb153dfdc59ad42e13fefb59f180609b1bd (patch)
treef2de3dfe6ee488a0633bcc947f6aca5b3b785118
parent84db8a11ec76e2e01fe299514e18b0558cb6416d (diff)
trace-graph: Allow update of task filters with same filter
Allow trace_graph_update_filters have the ginfo filters passed to it. This will give a way to let external users to refresh the graph filters. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--trace-graph.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/trace-graph.c b/trace-graph.c
index 2bbe73f..73e69d3 100644
--- a/trace-graph.c
+++ b/trace-graph.c
@@ -552,11 +552,16 @@ void trace_graph_update_filters(struct graph_info *ginfo,
552 struct filter_task *task_filter, 552 struct filter_task *task_filter,
553 struct filter_task *hide_tasks) 553 struct filter_task *hide_tasks)
554{ 554{
555 filter_task_hash_free(ginfo->task_filter); 555 /* Make sure the filter passed in is not the filter we use */
556 filter_task_hash_free(ginfo->hide_tasks); 556 if (task_filter != ginfo->task_filter) {
557 filter_task_hash_free(ginfo->task_filter);
558 ginfo->task_filter = filter_task_hash_copy(task_filter);
559 }
557 560
558 ginfo->task_filter = filter_task_hash_copy(task_filter); 561 if (hide_tasks != ginfo->hide_tasks) {
559 ginfo->hide_tasks = filter_task_hash_copy(hide_tasks); 562 filter_task_hash_free(ginfo->hide_tasks);
563 ginfo->hide_tasks = filter_task_hash_copy(hide_tasks);
564 }
560 565
561 if (ginfo->filter_enabled) 566 if (ginfo->filter_enabled)
562 redraw_graph(ginfo); 567 redraw_graph(ginfo);