Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/boards/advanced_colors.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/boards/advanced_colors.c')
-rw-r--r--src/boards/advanced_colors.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/boards/advanced_colors.c b/src/boards/advanced_colors.c
index fa9a581..1362af8 100644
--- a/src/boards/advanced_colors.c
+++ b/src/boards/advanced_colors.c
@@ -196,7 +196,7 @@ static gboolean is_our_board (GcomprisBoard *gcomprisBoard) {
* =====================================================================*/
static void colors_next_level() {
gchar *str = NULL;
- int i;
+ int i, list_length;
GList * list = NULL;
int * item;
@@ -215,8 +215,8 @@ static void colors_next_level() {
for (i=0; i<LAST_COLOR; i++)
list = g_list_append(list, GINT_TO_POINTER(i));
- while ((g_list_length(list) > 0)) {
- i = RAND(0,g_list_length(list)-1);
+ while((list_length = g_list_length(list))) {
+ i = list_length == 1 ? 0 : g_random_int_range(0,g_list_length(list)-1);
item = g_list_nth_data(list, i);
listColors = g_list_append(listColors, item);
list = g_list_remove(list, item);
@@ -288,7 +288,7 @@ static GnomeCanvasItem *colors_create_item(GnomeCanvasGroup *parent) {
g_free(str);
gnome_canvas_item_hide(highlight_image_item);
- i = RAND(0,LAST_COLOR);
+ i = g_random_int_range(0,LAST_COLOR);
gdk_pixbuf_unref(highlight_pixmap);