annotate gui/util/mem.h @ 35330:5fbd422b355e

Fix segmentation fault after end of file playback. At this point (GUI_END_FILE), mpctx's sh_video has already been freed and thus guiInfo.sh_video->codec->name mustn't be accessed which may happen as a result of the following uiEventHandling() call. Patch by Hans-Dieter Kosch, hdkosch kabelbw de. (Although the Win32 GUI isn't affected, because there is no use of guiInfo.sh_video->codec->name, it is patched accordingly for the sake of consistency. At least, it won't be showing the old codec name then, when there already is none.)
author ib
date Mon, 19 Nov 2012 15:27:36 +0000
parents b2d3a97cab66
children a5f7a861a293
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
1 /*
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
2 * This file is part of MPlayer.
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
3 *
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
7 * (at your option) any later version.
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
8 *
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
12 * GNU General Public License for more details.
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
13 *
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License along
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
17 */
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
18
33976
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
19 /**
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
20 * @file
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
21 * @brief Memory management helpers
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
22 */
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
23
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
24 #ifndef MPLAYER_GUI_MEM_H
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
25 #define MPLAYER_GUI_MEM_H
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
26
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
27 #include <stdlib.h>
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
28
33976
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
29 /**
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
30 * @def nfree(p)
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
31 * Free @a p and set it to NULL.
b2d3a97cab66 Add doxygen comments to mem.h.
ib
parents: 33739
diff changeset
32 */
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
33 #define nfree(p) do { free(p); p = NULL; } while (0)
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
34
9f6d46d325de Remove gfree() from interface.c.
ib
parents:
diff changeset
35 #endif /* MPLAYER_GUI_MEM_H */