2011/9/12 Craig <craigbakal...@verizon.net>: > Hi All, > > I am confused about GList. My application is parsing a file and creating > midi data with it. I am using GList to store the midi data. I have > created a GtkListStore to view the parsed data (to insure I am parsing > the data properly). So, below I iterate through the GList and "copy" > the data into a tree view. But, I am shocked to see that after I > iterate through the GList, I cannot iterate through the list again. I > have debugged the list after the iteration with g_list_length(events) > which shows the list length at 0. What is up with this? The first > while loop has data, the second while loop has not data. The code is > below--> > > GtkTreeIter tree_iter; > events = g_list_reverse(events); shallowcopy = events; > events = g_list_first(events); > while(events) > { > gtk_list_store_append (list_store, &tree_iter); > struct midi_event *me = events->data; > gtk_list_store_set(list_store, &tree_iter, > 0, me->time_stamp, > 1, me->event_type, > 2, me->message1, > 3, me->message2, > -1); > events = g_list_next(events); > } > /// this is where the list appears to be empty!!!! events = shallowcopy; > while(events) > { > g_print("midi event \n"); > events = g_list_next(events); > } > > Thanks for any help! Your first loop ands when your event is zer0. Youn need to use a second pointer for your second iteration which still points to the first item in the actual list.
Hope that helps. Regards Bernhard _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list