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); |
