Commit 9703f2366347e16dac68ab688609a91099455285

Ryan C. Gordon 2022-06-06T10:54:16

SDL_SetHintWithPriority: actually, this test is good. Otherwise, we end up calling the callback if both the old and new value are NULL. This reverts commit 5f25a6ea78605f9f5b600015b7532a06df3f02e2 (and also trims some whitespace).

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/SDL_hints.c b/src/SDL_hints.c
index 35eff7a..96869f6 100644
--- a/src/SDL_hints.c
+++ b/src/SDL_hints.c
@@ -66,7 +66,7 @@ SDL_SetHintWithPriority(const char *name, const char *value,
             if (priority < hint->priority) {
                 return SDL_FALSE;
             }
-            if (!hint->value || !value || SDL_strcmp(hint->value, value) != 0) {
+            if (((hint->value == NULL) != (value == NULL)) || (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;