X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=gfio.c;h=37c1db6918d0f8e25280bceea5ec6735dcabee0d;hb=9c8566f54872a2cff2b453438f9590e4c6582654;hp=313894169a3976fe8a472ce9d748fa1f81c34daa;hpb=de26d51f3e909997c9a500bf9f15a1bd5c18bb49;p=fio.git diff --git a/gfio.c b/gfio.c index 31389416..37c1db69 100644 --- a/gfio.c +++ b/gfio.c @@ -444,7 +444,7 @@ static int send_job_file(struct gui_entry *ge) while (!flist_empty(&gc->o_list)) { struct gfio_client_options *gco; - gco = flist_entry(gc->o_list.next, struct gfio_client_options, list); + gco = flist_first_entry(&gc->o_list, struct gfio_client_options, list); flist_del(&gco->list); free(gco); } @@ -654,6 +654,12 @@ static void gfio_client_added(struct gui_entry *ge, struct fio_client *client) gc->o_list_nr++; } +static void gfio_clear_graph_data(struct gfio_graphs *g) +{ + graph_clear_values(g->iops_graph); + graph_clear_values(g->bandwidth_graph); +} + static void connect_clicked(GtkWidget *widget, gpointer data) { struct gui_entry *ge = data; @@ -694,6 +700,7 @@ static void connect_clicked(GtkWidget *widget, gpointer data) if (!ge->ui->handler_running) pthread_create(&ge->ui->t, NULL, job_thread, ge->ui); gfio_set_state(ge, GE_STATE_CONNECTED); + gfio_clear_graph_data(&ge->graphs); } else { gfio_report_error(ge, "Failed to connect to %s: %s\n", ge->client->client->hostname, strerror(-ret)); } @@ -1670,8 +1677,11 @@ static void init_ui(int *argc, char **argv[], struct gui *ui) * Without it, the update that happens in gfio_update_thread_status * doesn't really happen in a timely fashion, you need expose events */ +#if !GTK_CHECK_VERSION(2, 24, 0) if (!g_thread_supported()) g_thread_init(NULL); +#endif + gdk_threads_init(); gtk_init(argc, argv);