Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/boards
diff options
context:
space:
mode:
authorBruno Coudoin <bcoudoin@src.gnome.org>2008-10-25 19:15:32 (GMT)
committer Bruno Coudoin <bcoudoin@src.gnome.org>2008-10-25 19:15:32 (GMT)
commit06ea8c617d554e19da53fc6ec554f5c04c051640 (patch)
tree761e212a3bfa29e5e122f2083c7dab7c1a0d600a /src/boards
parent1fa5e50ef7c6cb3861209858ec69b6bccebcb904 (diff)
selected a better text color in clockgame text fixed a major crash case
* boards/skins/babytoy/skin.xml: selected a better text color in clockgame text * src/boards/smallnumbers.c: (key_press), (player_win):fixed a major crash case The crash happend when there are 2 or more dice at the sublevel 9. The first die complete the game and the next die is processed but already deleted. svn path=/trunk/; revision=3578
Diffstat (limited to 'src/boards')
-rw-r--r--src/boards/smallnumbers.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/boards/smallnumbers.c b/src/boards/smallnumbers.c
index b5bab0c..bafb73b 100644
--- a/src/boards/smallnumbers.c
+++ b/src/boards/smallnumbers.c
@@ -248,6 +248,24 @@ static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
(GFunc) smallnumbers_gotkey_item,
GINT_TO_POINTER(keyval));
+ if(gcomprisBoard->sublevel>gcomprisBoard->number_of_sublevel)
+ {
+ /* Try the next level */
+ gcomprisBoard->level++;
+ if(gcomprisBoard->level>gcomprisBoard->maxlevel) { // the current board is finished : bail out
+ gc_score_end();
+ gc_bonus_end_display(GC_BOARD_FINISHED_RANDOM);
+ return TRUE;
+ }
+ gamewon = TRUE;
+ smallnumbers_destroy_all_items();
+ gc_bonus_display(gamewon, GC_BONUS_SMILEY);
+ }
+ else
+ {
+ gc_score_set(gcomprisBoard->sublevel);
+ }
+
return TRUE;
}
@@ -481,23 +499,6 @@ static void player_win(GnomeCanvasItem *item)
gcomprisBoard->sublevel++;
gc_score_set(gcomprisBoard->sublevel);
- if(gcomprisBoard->sublevel>gcomprisBoard->number_of_sublevel)
- {
- /* Try the next level */
- gcomprisBoard->level++;
- if(gcomprisBoard->level>gcomprisBoard->maxlevel) { // the current board is finished : bail out
- gc_score_end();
- gc_bonus_end_display(GC_BOARD_FINISHED_RANDOM);
- return;
- }
- gamewon = TRUE;
- smallnumbers_destroy_all_items();
- gc_bonus_display(gamewon, GC_BONUS_SMILEY);
- }
- else
- {
- gc_score_set(gcomprisBoard->sublevel);
- }
}
static void player_loose()