From 1780004ba99772e15f87e1deacbd16c1c0766b3f Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Fri, 18 Jun 2021 20:02:32 -0400 Subject: [PATCH] configure_input_player_widget: Mark variables as volatile A GCC bug or ill-behaviored optimization causes this to behave strangely on Arch Linux's MinGW GCC compiler (both GCC 10 and 11). Mark it as volatile so the compiler avoids more optimizations here. --- src/yuzu/configuration/configure_input_player_widget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp index f50cda2f3c..966e00e743 100644 --- a/src/yuzu/configuration/configure_input_player_widget.cpp +++ b/src/yuzu/configuration/configure_input_player_widget.cpp @@ -2505,8 +2505,8 @@ void PlayerControlPreview::DrawArrowButton(QPainter& p, const QPointF center, QPoint offset; for (std::size_t point = 0; point < up_arrow_button.size() / 2; ++point) { - const float up_arrow_x = up_arrow_button[point * 2 + 0]; - const float up_arrow_y = up_arrow_button[point * 2 + 1]; + const volatile float up_arrow_x = up_arrow_button[point * 2 + 0]; + const volatile float up_arrow_y = up_arrow_button[point * 2 + 1]; switch (direction) { case Direction::Up: