diff options
author | Steven Rostedt <srostedt@redhat.com> | 2010-06-09 21:33:57 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-06-09 21:33:57 -0400 |
commit | 2db91eb153dfdc59ad42e13fefb59f180609b1bd (patch) | |
tree | f2de3dfe6ee488a0633bcc947f6aca5b3b785118 | |
parent | 84db8a11ec76e2e01fe299514e18b0558cb6416d (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.c | 13 |
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); |