Mercurial > sdl-ios-xcode
changeset 2037:6bb97f41ab4b
Fixed bug #329
On tracing it turns out to fail from SDL_WM_SetCaption()
On going through the function it looks like the SDL_free() function is called
every alternate time with an invalid pointer that has already been freed.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 23 Sep 2006 22:51:37 +0000 |
parents | 12ef90a41631 |
children | eb5aedc79992 |
files | include/SDL_compat.h src/SDL_compat.c |
diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/include/SDL_compat.h Fri Sep 22 21:52:20 2006 +0000 +++ b/include/SDL_compat.h Sat Sep 23 22:51:37 2006 +0000 @@ -147,7 +147,7 @@ surface); extern DECLSPEC void SDLCALL SDL_WM_SetCaption(const char *title, const char *icon); -extern DECLSPEC void SDLCALL SDL_WM_GetCaption(char **title, char **icon); +extern DECLSPEC void SDLCALL SDL_WM_GetCaption(const char **title, const char **icon); extern DECLSPEC void SDLCALL SDL_WM_SetIcon(SDL_Surface * icon, Uint8 * mask); extern DECLSPEC int SDLCALL SDL_WM_IconifyWindow(void); extern DECLSPEC int SDLCALL SDL_WM_ToggleFullScreen(SDL_Surface * surface);
--- a/src/SDL_compat.c Fri Sep 22 21:52:20 2006 +0000 +++ b/src/SDL_compat.c Sat Sep 23 22:51:37 2006 +0000 @@ -692,14 +692,17 @@ { if (wm_title) { SDL_free(wm_title); + } + if (title) { + wm_title = SDL_strdup(title); } else { - wm_title = SDL_strdup(title); + wm_title = NULL; } SDL_SetWindowTitle(SDL_VideoWindow, wm_title); } void -SDL_WM_GetCaption(char **title, char **icon) +SDL_WM_GetCaption(const char **title, const char **icon) { if (title) { *title = wm_title;