mirror of
https://github.com/yawut/SDL.git
synced 2026-09-12 02:56:34 -05:00
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.
This commit is contained in:
@@ -147,7 +147,7 @@ extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormatAlpha(SDL_Surface *
|
||||
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);
|
||||
|
||||
@@ -692,14 +692,17 @@ SDL_WM_SetCaption(const char *title, const char *icon)
|
||||
{
|
||||
if (wm_title) {
|
||||
SDL_free(wm_title);
|
||||
} else {
|
||||
}
|
||||
if (title) {
|
||||
wm_title = SDL_strdup(title);
|
||||
} else {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user