From 2b84520e89aef0b0efe4a4ef7562e8e16aacfcd2 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 5 Oct 2013 21:49:58 -0400 Subject: [PATCH 1/3] Fix precedence of operations in a boolean expression in function UpdateMenus in WndMainWindow.cpp. Bitwise OR has higher precedence than the ternary expression operators. This is likely unintended, since the main goal here is to either check or un-check the items. --- Windows/WndMainWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index ce15b09168..5c1b7c6cae 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -1741,7 +1741,7 @@ namespace MainWindow g_Config.iCurrentStateSlot = SaveState::SAVESTATESLOTS - 1; for (int i = 0; i < ARRAY_SIZE(savestateSlot); i++) { - CheckMenuItem(menu, savestateSlot[i], MF_BYCOMMAND | ( i == g_Config.iCurrentStateSlot )? MF_CHECKED : MF_UNCHECKED); + CheckMenuItem(menu, savestateSlot[i], MF_BYCOMMAND | (( i == g_Config.iCurrentStateSlot )? MF_CHECKED : MF_UNCHECKED)); } UpdateCommands(); From 40797e0d5c7bb296c218361edc7ea826a2d1f29a Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 5 Oct 2013 22:00:19 -0400 Subject: [PATCH 2/3] Turns out there were three other expressions with this precedence problem in it within WndMainWindow.cpp. --- Windows/WndMainWindow.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index 5c1b7c6cae..44a47ed178 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -1685,7 +1685,7 @@ namespace MainWindow g_Config.iTexFiltering = LINEARFMV; for (int i = 0; i < ARRAY_SIZE(texfilteringitems); i++) { - CheckMenuItem(menu, texfilteringitems[i], MF_BYCOMMAND | ( (i + 1) == g_Config.iTexFiltering )? MF_CHECKED : MF_UNCHECKED); + CheckMenuItem(menu, texfilteringitems[i], MF_BYCOMMAND | (( (i + 1) == g_Config.iTexFiltering )? MF_CHECKED : MF_UNCHECKED)); } static const int renderingmode[] = { @@ -1701,7 +1701,7 @@ namespace MainWindow g_Config.iRenderingMode = FB_READFBOMEMORY_GPU; for (int i = 0; i < ARRAY_SIZE(renderingmode); i++) { - CheckMenuItem(menu, renderingmode[i], MF_BYCOMMAND | ( i == g_Config.iRenderingMode )? MF_CHECKED : MF_UNCHECKED); + CheckMenuItem(menu, renderingmode[i], MF_BYCOMMAND | (( i == g_Config.iRenderingMode )? MF_CHECKED : MF_UNCHECKED)); } static const int frameskipping[] = { @@ -1723,7 +1723,7 @@ namespace MainWindow g_Config.iFrameSkip = FRAMESKIP_MAX; for (int i = 0; i < ARRAY_SIZE(frameskipping); i++) { - CheckMenuItem(menu, frameskipping[i], MF_BYCOMMAND | ( i == g_Config.iFrameSkip )? MF_CHECKED : MF_UNCHECKED); + CheckMenuItem(menu, frameskipping[i], MF_BYCOMMAND | (( i == g_Config.iFrameSkip )? MF_CHECKED : MF_UNCHECKED)); } static const int savestateSlot[] = { From 0f093a3328d87055c9a0fc8be2726b12906d0d80 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 5 Oct 2013 22:59:40 -0400 Subject: [PATCH 3/3] Remove redundant parentheses from a ternary statement in WndMainWindow.cpp. --- Windows/WndMainWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index 44a47ed178..2770457751 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -1685,7 +1685,7 @@ namespace MainWindow g_Config.iTexFiltering = LINEARFMV; for (int i = 0; i < ARRAY_SIZE(texfilteringitems); i++) { - CheckMenuItem(menu, texfilteringitems[i], MF_BYCOMMAND | (( (i + 1) == g_Config.iTexFiltering )? MF_CHECKED : MF_UNCHECKED)); + CheckMenuItem(menu, texfilteringitems[i], MF_BYCOMMAND | ((i + 1) == g_Config.iTexFiltering ? MF_CHECKED : MF_UNCHECKED)); } static const int renderingmode[] = {