From 79f40059afbecc68f62bd2aa6cc6503cd4cdafc4 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Wed, 5 Mar 2014 21:08:12 +0100 Subject: [PATCH] rnd-20140305-3-src --- src/conftime.h | 2 +- src/editor.c | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/conftime.h b/src/conftime.h index 3e7a1e94..9b84439f 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "2014-03-05 17:41" +#define COMPILE_DATE_STRING "2014-03-05 21:07" diff --git a/src/editor.c b/src/editor.c index 67ff7203..b611050c 100644 --- a/src/editor.c +++ b/src/editor.c @@ -3487,6 +3487,8 @@ static void HandleControlButtons(struct GadgetInfo *); static void HandleDrawingAreaInfo(struct GadgetInfo *); static void PrintEditorGadgetInfoText(struct GadgetInfo *); +static int num_editor_gadgets = 0; /* dynamically determined */ + #if 1 static struct GadgetInfo **level_editor_gadget = NULL; static int *right_gadget_border = NULL; @@ -4797,7 +4799,7 @@ static int num_editor_el_dynamic = 0; static int editor_hl_empty[] = { }; #if 1 -static int *editor_el_empty = NULL; +static int *editor_el_empty = NULL; /* dynamically allocated */ #else static int editor_el_empty[ED_NUM_ELEMENTLIST_BUTTONS]; #endif @@ -6570,10 +6572,14 @@ void CreateLevelEditorGadgets() ed_fieldx = MAX_ED_FIELDX - 1; ed_fieldy = MAX_ED_FIELDY - 1; + num_editor_gadgets = NUM_EDITOR_GADGETS; + + // printf("::: allocating %d gadgets ...\n", num_editor_gadgets); + level_editor_gadget = - checked_calloc(NUM_EDITOR_GADGETS * sizeof(struct GadgetInfo *)); + checked_calloc(num_editor_gadgets * sizeof(struct GadgetInfo *)); right_gadget_border = - checked_calloc(NUM_EDITOR_GADGETS * sizeof(int)); + checked_calloc(num_editor_gadgets * sizeof(int)); editor_el_empty = checked_calloc(ED_NUM_ELEMENTLIST_BUTTONS * sizeof(int)); editor_el_empty_ptr = editor_el_empty; @@ -6601,7 +6607,9 @@ void FreeLevelEditorGadgets() { int i; - for (i = 0; i < NUM_EDITOR_GADGETS; i++) + // printf("::: freeing %d gadgets ...\n", num_editor_gadgets); + + for (i = 0; i < num_editor_gadgets; i++) { FreeGadget(level_editor_gadget[i]); @@ -6981,7 +6989,7 @@ static void UnmapLevelEditorFieldGadgets() int i; #if 1 - for (i = 0; i < NUM_EDITOR_GADGETS; i++) + for (i = 0; i < num_editor_gadgets; i++) if (IN_GFX_FIELD_FULL(level_editor_gadget[i]->x, level_editor_gadget[i]->y)) UnmapGadget(level_editor_gadget[i]); @@ -6996,7 +7004,7 @@ void UnmapLevelEditorGadgets() { int i; - for (i = 0; i < NUM_EDITOR_GADGETS; i++) + for (i = 0; i < num_editor_gadgets; i++) UnmapGadget(level_editor_gadget[i]); } -- 2.34.1