diff --git a/src/sview/common.c b/src/sview/common.c index 01f7c60375fcf0874a5907f35293a9f8e49eda6c..de3cc1b0cd20990f146cc23a35081a41a40be3ff 100644 --- a/src/sview/common.c +++ b/src/sview/common.c @@ -592,8 +592,11 @@ extern popup_info_t *create_popup_info(int type, int dest_type, char *title) bin2 = GTK_BIN(&view->bin); popup_win->table = GTK_TABLE(bin2->child); - gtk_box_pack_end(GTK_BOX(GTK_DIALOG(popup)->vbox), - GTK_WIDGET(window), TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(popup)->vbox), + GTK_WIDGET(window), TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(popup)->vbox), + main_statusbar, FALSE, FALSE, 0); + popup_win->spec_info->type = type; popup_win->spec_info->title = xstrdup(title); g_signal_connect(G_OBJECT(popup_win->popup), "delete_event", diff --git a/src/sview/job_info.c b/src/sview/job_info.c index f83b7fdd8ce8f8c80728845c4f254aa978664606..3cd9fbca9d25554ba5e0e4e8b91d9cd0d8a0f3b1 100644 --- a/src/sview/job_info.c +++ b/src/sview/job_info.c @@ -387,10 +387,14 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr, job_step_info_t step; int stepid = 0; int i; - GtkTreeIter *first_step_iter = NULL; + GtkTreeIter first_step_iter; + int set = 0; + + memset(&first_step_iter, 0, sizeof(GtkTreeIter)); + /* make sure all the steps are still here */ if (step_iter) { - first_step_iter = gtk_tree_iter_copy(step_iter); + first_step_iter = *step_iter; while(1) { gtk_tree_store_set(GTK_TREE_STORE(model), step_iter, SORTID_UPDATED, 0, -1); @@ -398,7 +402,7 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr, break; } } - step_iter = gtk_tree_iter_copy(first_step_iter); + memcpy(step_iter, &first_step_iter, sizeof(GtkTreeIter)); } for (i = 0; i < step_info_ptr->job_step_count; i++) { step = step_info_ptr->job_steps[i]; @@ -433,10 +437,8 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr, found: ; } - if(first_step_iter) { - if(step_iter) - gtk_tree_iter_free(step_iter); - step_iter = gtk_tree_iter_copy(first_step_iter); + if(set) { + step_iter = &first_step_iter; /* clear all steps that aren't active */ while(1) { gtk_tree_model_get(model, step_iter, @@ -453,7 +455,6 @@ static void _update_info_step(job_step_info_response_msg_t *step_info_ptr, break; } } - gtk_tree_iter_free(first_step_iter); } return; } @@ -792,7 +793,7 @@ extern void get_info_job(GtkTable *table, display_data_t *display_data) display_data_job->set_menu = local_display_data->set_menu; return; } - if(job_info_ptr && toggled) { + if(display_widget && toggled) { gtk_widget_destroy(display_widget); display_widget = NULL; goto display_it; @@ -886,7 +887,7 @@ extern void specific_info_job(popup_info_t *popup_win) if(!spec_info->display_widget) setup_popup_info(popup_win, display_data_job, SORTID_CNT); - if(job_info_ptr && popup_win->toggled) { + if(spec_info->display_widget && popup_win->toggled) { gtk_widget_destroy(spec_info->display_widget); spec_info->display_widget = NULL; goto display_it; diff --git a/src/sview/part_info.c b/src/sview/part_info.c index 08d4d2e1636e59440afa5ce548133bafedd856fa..f71e2627aee2621fc073f96d355b401ce30e81a8 100644 --- a/src/sview/part_info.c +++ b/src/sview/part_info.c @@ -187,15 +187,18 @@ static void _subdivide_part(sview_part_info_t *sview_part_info, GtkTreeIter *sub_iter, GtkTreeIter *iter) { - GtkTreeIter *first_sub_iter = NULL; + GtkTreeIter first_sub_iter; ListIterator itr = NULL; uint16_t state; int i = 0, line = 0; sview_part_sub_t *sview_part_sub = NULL; + int set = 0; + + memset(&first_sub_iter, 0, sizeof(GtkTreeIter)); /* make sure all the steps are still here */ if (sub_iter) { - first_sub_iter = gtk_tree_iter_copy(sub_iter); + first_sub_iter = *sub_iter; while(1) { gtk_tree_store_set(GTK_TREE_STORE(model), sub_iter, SORTID_UPDATED, 0, -1); @@ -203,7 +206,8 @@ static void _subdivide_part(sview_part_info_t *sview_part_info, break; } } - sub_iter = gtk_tree_iter_copy(first_sub_iter); + memcpy(sub_iter, &first_sub_iter, sizeof(GtkTreeIter)); + set = 1; } itr = list_iterator_create(sview_part_info->sub_list); if(list_count(sview_part_info->sub_list) == 1) { @@ -256,10 +260,8 @@ static void _subdivide_part(sview_part_info_t *sview_part_info, } list_iterator_destroy(itr); - if(first_sub_iter) { - if(sub_iter) - gtk_tree_iter_free(sub_iter); - sub_iter = gtk_tree_iter_copy(first_sub_iter); + if(set) { + sub_iter = &first_sub_iter; /* clear all steps that aren't active */ while(1) { gtk_tree_model_get(model, sub_iter, @@ -276,7 +278,6 @@ static void _subdivide_part(sview_part_info_t *sview_part_info, break; } } - gtk_tree_iter_free(first_sub_iter); } return; } @@ -353,8 +354,6 @@ static void _update_part_record(sview_part_info_t *sview_part_info, else gtk_tree_store_set(treestore, iter, SORTID_GROUPS, "all", -1); - gtk_tree_store_set(treestore, iter, SORTID_NODES, tmp_cnt, -1); - convert_num_unit((float)part_ptr->total_nodes, tmp_cnt, UNIT_NONE); gtk_tree_store_set(treestore, iter, SORTID_NODES, tmp_cnt, -1); @@ -469,20 +468,6 @@ static void _update_info_part(List info_list, ListIterator itr = NULL; sview_part_info_t *sview_part_info = NULL; - if(spec_info) { - switch(spec_info->type) { - case NODE_PAGE: - hostlist = hostlist_create((char *)spec_info->data); - host = hostlist_shift(hostlist); - hostlist_destroy(hostlist); - if(host == NULL) { - g_print("nodelist was empty"); - return; - } - break; - } - } - /* get the iter, or find out the list is empty goto add */ if (gtk_tree_model_get_iter(model, &iter, path)) { /* make sure all the partitions are still here */ @@ -578,6 +563,7 @@ static void _update_info_part(List info_list, gtk_tree_path_free(path); /* remove all old partitions */ remove_old(model, SORTID_UPDATED); + return; } static void _info_list_del(void *object) @@ -1214,6 +1200,7 @@ extern void get_info_part(GtkTable *table, display_data_t *display_data) return; } if(display_widget && toggled) { + g_print("I am destroying the widget in part\n"); gtk_widget_destroy(display_widget); display_widget = NULL; goto display_it; @@ -1275,6 +1262,7 @@ display_it: display_widget = NULL; } if(!display_widget) { + g_print("I am creating the widget in part\n"); tree_view = create_treeview(local_display_data); display_widget = gtk_widget_ref(GTK_WIDGET(tree_view));