/* Given a frame_data structure, scroll to and select the row in the packet list corresponding to that frame. If there is no such row, return FALSE, otherwise return TRUE.  */
gboolean packet_list_select_row_from_data(frame_data *fdata_needle)
/* Given a frame_data structure, scroll to and select the row in the packet list corresponding to that frame. If there is no such row, return FALSE, otherwise return TRUE.  */
gboolean packet_list_select_row_from_data(frame_data *fdata_needle)
{
	GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(packetlist->view));
	GtkTreeIter iter;
	if(!gtk_tree_model_get_iter_first(model, &iter))
		return FALSE;
	do {
		frame_data *fdata;
		fdata = packet_list_get_record(model, &iter);
		if(fdata == fdata_needle) {
			scroll_to_and_select_iter(model, NULL, &iter);
			return TRUE;
		}
	} while (gtk_tree_model_iter_next(model, &iter));
	return FALSE;
}