1
0
Fork 0
forked from len0rd/rockbox

Patch #4872 by Mikael Magnusson: fixes bubbles game overflowing stack

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9155 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Hristo Kovachev 2006-03-21 11:18:40 +00:00
parent d694a21b7f
commit 7c7c03a2b9

View file

@ -1769,6 +1769,8 @@ static int bubbles_searchgroup(struct game_context* bb, int row, int col) {
int adj = row%2;
int mytype = bb->playboard[row][col].type;
if (bb->playboard[row][col].ingroup)
return 0;
bb->playboard[row][col].ingroup = true;
/* recursively call neighbors */
@ -1875,6 +1877,8 @@ static int bubbles_remove(struct game_context* bb) {
static void bubbles_anchored(struct game_context* bb, int row, int col) {
int adj = row%2;
if (bb->playboard[row][col].anchored)
return;
/* mark bubble */
bb->playboard[row][col].anchored = true;
@ -2289,7 +2293,6 @@ static int bubbles(struct game_context* bb) {
int button;
int buttonres;
unsigned int startlevel = 0;
char str[30];
char *title = "Bubbles";
bool startgame = false;
bool showscores = false;
@ -2304,6 +2307,7 @@ static int bubbles(struct game_context* bb) {
* menu *
********************/
while(!startgame){
char str[30];
rb->lcd_clear_display();
if(!showscores) {
@ -2466,7 +2470,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
struct game_context bb;
bool exit = false;
int position;
char str[19];
/* plugin init */
(void)parameter;
@ -2486,6 +2489,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
while(!exit) {
switch(bubbles(&bb)){
char str[19];
case BB_WIN:
rb->splash(HZ*2, true, "You Win!");