SDL: improve behavior of SDL_SetHint(WithPriority) (#5309)

From 7eb13c21c6d5e769f7902ee773df2c1b0a806ff0 Mon Sep 17 00:00:00 2001
From: pionere <[EMAIL REDACTED]>
Date: Wed, 10 Aug 2022 02:27:25 +0200
Subject: [PATCH] improve behavior of SDL_SetHint(WithPriority) (#5309)

---
 src/SDL_hints.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/SDL_hints.c b/src/SDL_hints.c
index 96869f67668..423851a8382 100644
--- a/src/SDL_hints.c
+++ b/src/SDL_hints.c
@@ -66,7 +66,8 @@ SDL_SetHintWithPriority(const char *name, const char *value,
             if (priority < hint->priority) {
                 return SDL_FALSE;
             }
-            if (((hint->value == NULL) != (value == NULL)) || (value && (SDL_strcmp(hint->value, value) != 0))) {
+            if (hint->value != value &&
+                (!value || !hint->value || SDL_strcmp(hint->value, value) != 0)) {
                 for (entry = hint->callbacks; entry; ) {
                     /* Save the next entry in case this one is deleted */
                     SDL_HintWatch *next = entry->next;