From a666de46aaebc3b76387cef7cc89f141414c38ce Mon Sep 17 00:00:00 2001 From: Steve Wills Date: Sun, 14 Feb 2021 14:06:37 -0500 Subject: [PATCH 1/3] Fix seg fault when configuring controller Since controllerAction can be -2 (line 2105) --- src/core/Frontend.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 07b8f996..ae2dd12f 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -2166,7 +2166,7 @@ CMenuManager::DrawControllerBound(int32 yStart, int32 xStart, int32 unused, int8 // Print bindings, including seperator (-) between them CFont::SetScale(MENU_X(0.25f), MENU_Y(SMALLESTTEXT_Y_SCALE)); - for (; contSetOrder < MAX_SETORDERS && controllerAction != -1; contSetOrder++) { + for (; contSetOrder < MAX_SETORDERS && controllerAction >= 0; contSetOrder++) { wchar *settingText = ControlsManager.GetControllerSettingTextWithOrderNumber((e_ControllerAction)controllerAction, (eContSetOrder)contSetOrder); if (settingText) { ++bindingsForThisOpt; From 20d9498fdba8a2a574f0e819d8fab4db4b467bcb Mon Sep 17 00:00:00 2001 From: Steve Wills Date: Tue, 16 Feb 2021 10:55:11 -0500 Subject: [PATCH 2/3] Put fix behind ifdef --- src/core/Frontend.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index ae2dd12f..39d7430e 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -2166,7 +2166,11 @@ CMenuManager::DrawControllerBound(int32 yStart, int32 xStart, int32 unused, int8 // Print bindings, including seperator (-) between them CFont::SetScale(MENU_X(0.25f), MENU_Y(SMALLESTTEXT_Y_SCALE)); +#ifdef (FIX_BUGS) for (; contSetOrder < MAX_SETORDERS && controllerAction >= 0; contSetOrder++) { +#else + for (; contSetOrder < MAX_SETORDERS && controllerAction != -1; contSetOrder++) { +#endif wchar *settingText = ControlsManager.GetControllerSettingTextWithOrderNumber((e_ControllerAction)controllerAction, (eContSetOrder)contSetOrder); if (settingText) { ++bindingsForThisOpt; From e482ab629218dba31c95e1bdc13e0296a3aa53ef Mon Sep 17 00:00:00 2001 From: Steve Wills Date: Tue, 16 Feb 2021 11:13:20 -0500 Subject: [PATCH 3/3] Fix mistake --- src/core/Frontend.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 39d7430e..9c6d6f24 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -2166,7 +2166,7 @@ CMenuManager::DrawControllerBound(int32 yStart, int32 xStart, int32 unused, int8 // Print bindings, including seperator (-) between them CFont::SetScale(MENU_X(0.25f), MENU_Y(SMALLESTTEXT_Y_SCALE)); -#ifdef (FIX_BUGS) +#ifdef FIX_BUGS for (; contSetOrder < MAX_SETORDERS && controllerAction >= 0; contSetOrder++) { #else for (; contSetOrder < MAX_SETORDERS && controllerAction != -1; contSetOrder++) {