From 0ab9bfac9d4d6a7e1fef60106c58b5fca9ef8fe9 Mon Sep 17 00:00:00 2001 From: George Sokianos Date: Mon, 22 Aug 2022 19:40:53 +0100 Subject: [PATCH] Fixed the controls crash --- src/defs.h | 2 +- src/game/options.c | 2 -- src/system/widgets.c | 13 +++++++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/defs.h b/src/defs.h index c6f57df..7d79061 100644 --- a/src/defs.h +++ b/src/defs.h @@ -80,7 +80,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define NUM_ATLAS_BUCKETS 64 #define NUM_GLYPH_BUCKETS 128 -#define MAX_STARS 250 +#define MAX_STARS 100 #define MAX_CHALLENGES 3 diff --git a/src/game/options.c b/src/game/options.c index 8bba5d7..8fb776e 100644 --- a/src/game/options.c +++ b/src/game/options.c @@ -180,8 +180,6 @@ static void changeWindowSize(char *value) static void changeEffectsReduction(char *value) { app.effects = atoi(value); - - // Mix_Volume(-1, app.effects * MIX_MAX_VOLUME / 10); } static void changeSoundVolume(char *value) diff --git a/src/system/widgets.c b/src/system/widgets.c index 9efb373..e732f29 100644 --- a/src/system/widgets.c +++ b/src/system/widgets.c @@ -59,7 +59,7 @@ void doWidgets(void) if (drawingWidgets) { updateSelectWidgets(); - + handleMouse(); handleKeyboard(); @@ -69,17 +69,21 @@ void doWidgets(void) handleControlWidgets(); } } - + + #if !defined(__amigaos4__) if (hoverWidget != selectedWidget) { selectedWidget = NULL; } + #endif drawingWidgets = 0; } static void updateSelectWidgets(void) { + + #if !defined(__amigaos4__) Widget *w; for (w = head.next; w != NULL ; w = w->next) @@ -99,6 +103,7 @@ static void updateSelectWidgets(void) } } } + #endif } Widget *getWidget(const char *name, const char *group) @@ -320,7 +325,6 @@ static void handleMouse(void) static void handleKeyboard(void) { Widget *old; - if (selectedWidget != NULL) { if (selectedWidget->type == WT_BUTTON) @@ -357,7 +361,7 @@ static void handleControlWidgets(void) } else { - if (app.lastKeyPressed != -1) + if (app.lastKeyPressed != -1 && selectedWidget->name) { updateControlKey(selectedWidget->name); @@ -601,3 +605,4 @@ void destroyWidgets(void) head.next = NULL; } +