diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2007-12-18 17:22:11 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2007-12-18 17:22:11 +0000 |
commit | e64a19fe9511e8f9a76d11d1c933e4796a430014 (patch) | |
tree | 6a658a74ccf067254391d97b19a655d87792da78 | |
parent | 5c0c176c68a3bb677af9b7ac6b50dc89013e639b (diff) |
Only update procmap if we read from the child.
-rw-r--r-- | src/app.c | 33 |
1 files changed, 18 insertions, 15 deletions
@@ -1110,15 +1110,15 @@ vg_events_server_cb (GIOChannel *source, fd = g_io_channel_unix_get_fd (io); file = gzdopen (dup (fd), "r"); - if (vg_read (file, app) && app->client.pid == 0) { - call_graph_store_update_tree_model (app->client.call_graph); - } - - if (! app->client.terminated) { - GtkTreeModel *model = procmap_store_new (app->client.pid); - gtk_tree_view_set_model (ensure_procmap (app), model); - g_object_unref (model); + if (vg_read (file, app)) { + if (! app->client.terminated) { + GtkTreeModel *model = procmap_store_new (app->client.pid); + gtk_tree_view_set_model (ensure_procmap (app), model); + g_object_unref (model); + } else + call_graph_store_update_tree_model (app->client.call_graph); } + gzclose (file); gdk_window_set_cursor (app->window->window, NULL); @@ -1744,6 +1744,7 @@ lwp_events_server_cb (GIOChannel *source, GIOChannel *io; int fd; gzFile *file; + gboolean update; gdk_window_set_cursor (app->window->window, app->busy_cursor); gdk_flush (); @@ -1752,15 +1753,17 @@ lwp_events_server_cb (GIOChannel *source, fd = g_io_channel_unix_get_fd (io); file = gzdopen (dup (fd), "r"); - lwp_read (file, app); + update = lwp_read (file, app); gzclose (file); - if (! app->client.terminated) { - GtkTreeModel *model = procmap_store_new (app->client.pid); - gtk_tree_view_set_model (ensure_procmap (app), model); - g_object_unref (model); - } else { - call_graph_store_update_tree_model (app->client.call_graph); + if (update) { + if (! app->client.terminated) { + GtkTreeModel *model = procmap_store_new (app->client.pid); + gtk_tree_view_set_model (ensure_procmap (app), model); + g_object_unref (model); + } else { + call_graph_store_update_tree_model (app->client.call_graph); + } } gdk_window_set_cursor (app->window->window, NULL); |