diff --git a/src/ride/ride.h b/src/ride/ride.h index a8facce1fc..320378d7c5 100644 --- a/src/ride/ride.h +++ b/src/ride/ride.h @@ -1100,6 +1100,7 @@ bool shop_item_is_souvenir(int shopItem); void ride_reset_all_names(); const uint8* ride_seek_available_modes(rct_ride *ride); +void window_ride_measurements_design_cancel(); void window_ride_construction_mouseup_demolish_next_piece(int x, int y, int z, int direction, int type); const uint32 ride_customers_per_hour(const rct_ride *ride); diff --git a/src/windows/loadsave.c b/src/windows/loadsave.c index c1e06d86a2..efe94066b8 100644 --- a/src/windows/loadsave.c +++ b/src/windows/loadsave.c @@ -910,6 +910,7 @@ static void window_loadsave_select(rct_window *w, const char *path) if (success) { window_close_by_class(WC_LOADSAVE); + window_ride_measurements_design_cancel(); window_loadsave_invoke_callback(MODAL_RESULT_OK); } else { window_error_open(STR_FILE_DIALOG_TITLE_SAVE_TRACK, STR_TRACK_SAVE_FAILED); @@ -982,7 +983,7 @@ static char _window_overwrite_prompt_path[MAX_PATH]; static rct_window *window_overwrite_prompt_open(const char *name, const char *path) { rct_window *w; - + window_close_by_class(WC_LOADSAVE_OVERWRITE_PROMPT); w = window_create_centred(OVERWRITE_WW, OVERWRITE_WH, &window_overwrite_prompt_events, WC_LOADSAVE_OVERWRITE_PROMPT, WF_STICK_TO_FRONT); diff --git a/src/windows/ride.c b/src/windows/ride.c index 8e4a8812b5..71e11a1a49 100644 --- a/src/windows/ride.c +++ b/src/windows/ride.c @@ -4690,7 +4690,7 @@ static void window_ride_measurements_design_select_nearby_scenery() * * rct2: 0x006AD4DA */ -static void window_ride_measurements_design_cancel() +void window_ride_measurements_design_cancel() { if (RCT2_GLOBAL(0x009DEA6F, uint8) & 1) cancel_scenery_selection();