SDL: Fixed undefined behavior in QueueCmdSetDrawColor()

From e18be04bc6ae964beb175b5468595d640a100eec Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Tue, 23 Nov 2021 08:01:02 +0300
Subject: [PATCH] Fixed undefined behavior in QueueCmdSetDrawColor()

Fixes https://github.com/libsdl-org/SDL/issues/4995
Patch from Andrew Kelley
---
 src/render/SDL_render.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index cd8739d03c..c79d9ff681 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -394,7 +394,7 @@ QueueCmdSetClipRect(SDL_Renderer *renderer)
 static int
 QueueCmdSetDrawColor(SDL_Renderer *renderer, SDL_Color *col)
 {
-    const Uint32 color = ((col->a << 24) | (col->r << 16) | (col->g << 8) | col->b);
+    const Uint32 color = (((Uint32)col->a << 24) | (col->r << 16) | (col->g << 8) | col->b);
     int retval = 0;
 
     if (!renderer->color_queued || (color != renderer->last_queued_color)) {