From 8a9b7ae8d179a6af80895d976b3ca4f3e9a5d7da Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 6 Jan 2025 11:29:28 -0800 Subject: [PATCH] Switched nEntries to int, to avoid signed/unsigned comparison warnings Also standardized memory allocation calls to match SDL style --- src/tray/cocoa/SDL_tray.m | 3 +-- src/tray/unix/SDL_tray.c | 23 +++++++++-------------- src/tray/windows/SDL_tray.c | 37 ++++++++++++++++--------------------- 3 files changed, 26 insertions(+), 37 deletions(-) diff --git a/src/tray/cocoa/SDL_tray.m b/src/tray/cocoa/SDL_tray.m index 8cb0619314..911285bcb3 100644 --- a/src/tray/cocoa/SDL_tray.m +++ b/src/tray/cocoa/SDL_tray.m @@ -281,8 +281,7 @@ const SDL_TrayEntry **SDL_GetTrayEntries(SDL_TrayMenu *menu, int *size) if (size) { *size = menu->nEntries; } - - return (const SDL_TrayEntry **) menu->entries; + return menu->entries; } void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) diff --git a/src/tray/unix/SDL_tray.c b/src/tray/unix/SDL_tray.c index e4f0208f4a..afa06ac8e6 100644 --- a/src/tray/unix/SDL_tray.c +++ b/src/tray/unix/SDL_tray.c @@ -292,7 +292,7 @@ static bool init_gtk(void) struct SDL_TrayMenu { GtkMenuShell *menu; - size_t nEntries; + int nEntries; SDL_TrayEntry **entries; SDL_Tray *parent_tray; @@ -390,8 +390,7 @@ SDL_Tray *SDL_CreateTray(SDL_Surface *icon, const char *tooltip) gtk_thread_active = true; } - SDL_Tray *tray = (SDL_Tray *) SDL_malloc(sizeof(SDL_Tray)); - + SDL_Tray *tray = (SDL_Tray *)SDL_malloc(sizeof(*tray)); if (!tray) { return NULL; } @@ -436,8 +435,7 @@ void SDL_SetTrayTooltip(SDL_Tray *tray, const char *tooltip) SDL_TrayMenu *SDL_CreateTrayMenu(SDL_Tray *tray) { - tray->menu = SDL_malloc(sizeof(SDL_TrayMenu)); - + tray->menu = (SDL_TrayMenu *)SDL_malloc(sizeof(*tray->menu)); if (!tray->menu) { return NULL; } @@ -470,8 +468,7 @@ SDL_TrayMenu *SDL_CreateTraySubmenu(SDL_TrayEntry *entry) return NULL; } - entry->submenu = SDL_malloc(sizeof(SDL_TrayMenu)); - + entry->submenu = (SDL_TrayMenu *)SDL_malloc(sizeof(*entry->submenu)); if (!entry->submenu) { return NULL; } @@ -497,8 +494,7 @@ const SDL_TrayEntry **SDL_GetTrayEntries(SDL_TrayMenu *menu, int *size) if (size) { *size = menu->nEntries; } - - return (const SDL_TrayEntry **) menu->entries; + return menu->entries; } void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) @@ -525,7 +521,7 @@ void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) } menu->nEntries--; - SDL_TrayEntry ** new_entries = SDL_realloc(menu->entries, (menu->nEntries + 1) * sizeof(SDL_TrayEntry *)); + SDL_TrayEntry **new_entries = (SDL_TrayEntry **)SDL_realloc(menu->entries, (menu->nEntries + 1) * sizeof(*new_entries)); /* Not sure why shrinking would fail, but even if it does, we can live with a "too big" array */ if (new_entries) { @@ -539,7 +535,7 @@ void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *label, SDL_TrayEntryFlags flags) { - if (pos < -1 || pos > (int) menu->nEntries) { + if (pos < -1 || pos > menu->nEntries) { SDL_InvalidParamError("pos"); return NULL; } @@ -548,8 +544,7 @@ SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *la pos = menu->nEntries; } - SDL_TrayEntry *entry = SDL_malloc(sizeof(SDL_TrayEntry)); - + SDL_TrayEntry *entry = (SDL_TrayEntry *)SDL_malloc(sizeof(*entry)); if (!entry) { return NULL; } @@ -574,7 +569,7 @@ SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *la gtk_widget_set_sensitive(entry->item, !(flags & SDL_TRAYENTRY_DISABLED)); - SDL_TrayEntry **new_entries = (SDL_TrayEntry **) SDL_realloc(menu->entries, (menu->nEntries + 2) * sizeof(SDL_TrayEntry *)); + SDL_TrayEntry **new_entries = (SDL_TrayEntry **)SDL_realloc(menu->entries, (menu->nEntries + 2) * sizeof(*new_entries)); if (!new_entries) { SDL_free(entry); diff --git a/src/tray/windows/SDL_tray.c b/src/tray/windows/SDL_tray.c index 5b123e343d..e68660dd06 100644 --- a/src/tray/windows/SDL_tray.c +++ b/src/tray/windows/SDL_tray.c @@ -42,7 +42,7 @@ struct SDL_TrayMenu { HMENU hMenu; - size_t nEntries; + int nEntries; SDL_TrayEntry **entries; SDL_Tray *parent_tray; @@ -75,7 +75,7 @@ static UINT_PTR get_next_id(void) static SDL_TrayEntry *find_entry_in_menu(SDL_TrayMenu *menu, UINT_PTR id) { - for (size_t i = 0; i < menu->nEntries; i++) { + for (int i = 0; i < menu->nEntries; i++) { SDL_TrayEntry *entry = menu->entries[i]; if (entry->id == id) { @@ -145,7 +145,7 @@ LRESULT CALLBACK TrayWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPar static void DestroySDLMenu(SDL_TrayMenu *menu) { - for (size_t i = 0; i < menu->nEntries; i++) { + for (int i = 0; i < menu->nEntries; i++) { if (menu->entries[i] && menu->entries[i]->submenu) { DestroySDLMenu(menu->entries[i]->submenu); } @@ -166,8 +166,7 @@ static wchar_t *escape_label(const char *in) len += (*c == '&') ? 2 : 1; } - char *escaped = SDL_malloc(SDL_strlen(in) + len + 1); - + char *escaped = (char *)SDL_malloc(SDL_strlen(in) + len + 1); if (!escaped) { return NULL; } @@ -190,7 +189,7 @@ static wchar_t *escape_label(const char *in) SDL_Tray *SDL_CreateTray(SDL_Surface *icon, const char *tooltip) { - SDL_Tray *tray = SDL_malloc(sizeof(SDL_Tray)); + SDL_Tray *tray = (SDL_Tray *)SDL_malloc(sizeof(*tray)); if (!tray) { return NULL; @@ -273,7 +272,7 @@ void SDL_SetTrayTooltip(SDL_Tray *tray, const char *tooltip) SDL_TrayMenu *SDL_CreateTrayMenu(SDL_Tray *tray) { - tray->menu = SDL_malloc(sizeof(SDL_TrayMenu)); + tray->menu = (SDL_TrayMenu *)SDL_malloc(sizeof(*tray->menu)); if (!tray->menu) { return NULL; @@ -309,10 +308,9 @@ SDL_TrayMenu *SDL_GetTraySubmenu(SDL_TrayEntry *entry) const SDL_TrayEntry **SDL_GetTrayEntries(SDL_TrayMenu *menu, int *size) { if (size) { - *size = (int) menu->nEntries; + *size = menu->nEntries; } - - return (const SDL_TrayEntry **) menu->entries; + return menu->entries; } void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) @@ -324,7 +322,7 @@ void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) SDL_TrayMenu *menu = entry->parent; bool found = false; - for (size_t i = 0; i < menu->nEntries - 1; i++) { + for (int i = 0; i < menu->nEntries - 1; i++) { if (menu->entries[i] == entry) { found = true; } @@ -339,7 +337,7 @@ void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) } menu->nEntries--; - SDL_TrayEntry ** new_entries = SDL_realloc(menu->entries, (menu->nEntries + 1) * sizeof(SDL_TrayEntry *)); + SDL_TrayEntry **new_entries = (SDL_TrayEntry **)SDL_realloc(menu->entries, (menu->nEntries + 1) * sizeof(*new_entries)); /* Not sure why shrinking would fail, but even if it does, we can live with a "too big" array */ if (new_entries) { @@ -357,7 +355,7 @@ void SDL_RemoveTrayEntry(SDL_TrayEntry *entry) SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *label, SDL_TrayEntryFlags flags) { - if (pos < -1 || pos > (int) menu->nEntries) { + if (pos < -1 || pos > menu->nEntries) { SDL_InvalidParamError("pos"); return NULL; } @@ -365,13 +363,12 @@ SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *la int windows_compatible_pos = pos; if (pos == -1) { - pos = (int) menu->nEntries; + pos = menu->nEntries; } else if (pos == menu->nEntries) { windows_compatible_pos = -1; } - SDL_TrayEntry *entry = SDL_malloc(sizeof(SDL_TrayEntry)); - + SDL_TrayEntry *entry = (SDL_TrayEntry *)SDL_malloc(sizeof(*entry)); if (!entry) { return NULL; } @@ -391,8 +388,7 @@ SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *la SDL_snprintf(entry->label_cache, sizeof(entry->label_cache), "%s", label ? label : ""); if (label != NULL && flags & SDL_TRAYENTRY_SUBMENU) { - entry->submenu = SDL_malloc(sizeof(SDL_TrayMenu)); - + entry->submenu = (SDL_TrayMenu *)SDL_malloc(sizeof(*entry->submenu)); if (!entry->submenu) { SDL_free(entry); SDL_free(label_w); @@ -408,8 +404,7 @@ SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *la entry->id = get_next_id(); } - SDL_TrayEntry **new_entries = (SDL_TrayEntry **) SDL_realloc(menu->entries, (menu->nEntries + 2) * sizeof(SDL_TrayEntry **)); - + SDL_TrayEntry **new_entries = (SDL_TrayEntry **)SDL_realloc(menu->entries, (menu->nEntries + 2) * sizeof(*new_entries)); if (!new_entries) { SDL_free(entry); SDL_free(label_w); @@ -423,7 +418,7 @@ SDL_TrayEntry *SDL_InsertTrayEntryAt(SDL_TrayMenu *menu, int pos, const char *la menu->entries = new_entries; menu->nEntries++; - for (int i = (int) menu->nEntries - 1; i > pos; i--) { + for (int i = menu->nEntries - 1; i > pos; i--) { menu->entries[i] = menu->entries[i - 1]; }