rem: if (shuffle == FALSE)
add: if (shuffle == FALSE || PL_LEN == 0)
context: ensure_shuffled (TotemPlaylist *playlist, gboolean shuffle){	RandomData data;	GArray *array;	int i, len, current;	int *indices;	if (shuffle == FALSE || PL_LEN != playlist->_priv->shuffle_len)	{		g_free (playlist->_priv->shuffled);		playlist->_priv->shuffled = NULL;	}	if (shuffle == FALSE)		return;	indices = gtk_tree_path_get_indices (playlist->_priv->current);	current = indices[0];	playlist->_priv->shuffled = g_new (int, PL_LEN);	playlist->_priv->shuffle_len = PL_LEN;	array = g_array_sized_new (FALSE, FALSE,			sizeof (RandomData), PL_LEN);	for (i = 0; i < PL_LEN; i++)	{		data.random = g_random_int_range (0, PL_LEN);		data.index = i;		g_array_append_val (array, data);	}	g_array_sort (array, compare_random);	for (i = 0; i < PL_LEN; i++)	{		playlist->_priv->shuffled[i]			= g_array_index (array, RandomData, i).index;		if (playlist->_priv->shuffled[i] == current)			playlist->_priv->current_shuffled = i;	}	g_array_free (array, TRUE);}