summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Renner <ragingcactus@ragingcactus.net>2022-09-19 20:34:29 +0200
committerGitHub <noreply@github.com>2022-09-19 19:34:29 +0100
commit652d1d8a6d0a98ab2cff285dc46b91b702adedc6 (patch)
tree792205349f6cfb074e1d646694d23ac9ee029d02
parent89df40d4f340311e64189de45770879257c867f3 (diff)
downloadqmk_firmware-652d1d8a6d0a98ab2cff285dc46b91b702adedc6.tar.gz
qmk_firmware-652d1d8a6d0a98ab2cff285dc46b91b702adedc6.zip
Fix int8_t overflow in RGB heatmap effect (#18410)
-rw-r--r--quantum/rgb_matrix/animations/typing_heatmap_anim.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/quantum/rgb_matrix/animations/typing_heatmap_anim.h b/quantum/rgb_matrix/animations/typing_heatmap_anim.h
index a05c07760e..00d137f1a6 100644
--- a/quantum/rgb_matrix/animations/typing_heatmap_anim.h
+++ b/quantum/rgb_matrix/animations/typing_heatmap_anim.h
@@ -29,7 +29,7 @@ void process_rgb_matrix_typing_heatmap(uint8_t row, uint8_t col) {
if (i_row == row && i_col == col) {
g_rgb_frame_buffer[row][col] = qadd8(g_rgb_frame_buffer[row][col], 32);
} else {
-# define LED_DISTANCE(led_a, led_b) sqrt16(((int8_t)(led_a.x - led_b.x) * (int8_t)(led_a.x - led_b.x)) + ((int8_t)(led_a.y - led_b.y) * (int8_t)(led_a.y - led_b.y)))
+# define LED_DISTANCE(led_a, led_b) sqrt16(((int16_t)(led_a.x - led_b.x) * (int16_t)(led_a.x - led_b.x)) + ((int16_t)(led_a.y - led_b.y) * (int16_t)(led_a.y - led_b.y)))
uint8_t distance = LED_DISTANCE(g_led_config.point[g_led_config.matrix_co[row][col]], g_led_config.point[g_led_config.matrix_co[i_row][i_col]]);
# undef LED_DISTANCE
if (distance <= RGB_MATRIX_TYPING_HEATMAP_SPREAD) {