Changeset 39434a18b3a2135fd11f16911ea63289ecf75f35
- Timestamp:
- 14/11/07 16:18:15
(1 year ago)
- Author:
- Jean-Paul Saman <jpsaman@videolan.org>
- git-committer:
- Jean-Paul Saman <jpsaman@videolan.org> 1195053495 +0000
- git-parent:
[b993600a6bab86f8d4dc8f22f3938f87a1563a93]
- git-author:
- Jean-Paul Saman <jpsaman@videolan.org> 1195053495 +0000
- Message:
Return pointer to osdmenu object and use that iso NULL pointer.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r4527fa3 |
r39434a1 |
|
| 29 | 29 | #include <vlc_keys.h> |
|---|
| 30 | 30 | #include <vlc_osd.h> |
|---|
| | 31 | #include <vlc_image.h> |
|---|
| | 32 | |
|---|
| 31 | 33 | #include "libvlc.h" |
|---|
| 32 | | #include <vlc_image.h> |
|---|
| 33 | 34 | |
|---|
| 34 | 35 | #undef OSD_MENU_DEBUG |
|---|
| … | … | |
| 56 | 57 | * Wrappers for loading and unloading osd parser modules. |
|---|
| 57 | 58 | *****************************************************************************/ |
|---|
| 58 | | static int osd_ParserLoad( vlc_object_t *p_this, const char *psz_file, |
|---|
| 59 | | osd_menu_t **pp_menu ) |
|---|
| 60 | | { |
|---|
| 61 | | osd_menu_t *p_menu = *pp_menu; |
|---|
| 62 | | |
|---|
| 63 | | if( pp_menu && p_menu ) return VLC_EGENERIC; |
|---|
| | 59 | static osd_menu_t *osd_ParserLoad( vlc_object_t *p_this, const char *psz_file ) |
|---|
| | 60 | { |
|---|
| | 61 | osd_menu_t *p_menu; |
|---|
| 64 | 62 | |
|---|
| 65 | 63 | p_menu = vlc_object_create( p_this, VLC_OBJECT_OSDMENU ); |
|---|
| … | … | |
| 67 | 65 | { |
|---|
| 68 | 66 | msg_Err( p_this, "out of memory" ); |
|---|
| 69 | | return VLC_ENOMEM; |
|---|
| | 67 | return NULL; |
|---|
| 70 | 68 | } |
|---|
| 71 | 69 | vlc_object_attach( p_this, p_menu ); |
|---|
| … | … | |
| 77 | 75 | { |
|---|
| 78 | 76 | msg_Err( p_this, "unable to load images, aborting .." ); |
|---|
| 79 | | osd_ParserUnload( p_this, pp_menu ); |
|---|
| 80 | | return VLC_ENOMEM; |
|---|
| | 77 | osd_ParserUnload( p_this, p_menu ); |
|---|
| | 78 | return NULL; |
|---|
| 81 | 79 | } |
|---|
| 82 | 80 | else |
|---|
| … | … | |
| 95 | 93 | { |
|---|
| 96 | 94 | osd_ParserUnload( p_this, pp_menu ); |
|---|
| 97 | | return VLC_ENOOBJ; |
|---|
| 98 | | } |
|---|
| 99 | | } |
|---|
| 100 | | return VLC_SUCCESS; |
|---|
| 101 | | } |
|---|
| 102 | | |
|---|
| 103 | | static void osd_ParserUnload( vlc_object_t *p_this, osd_menu_t **pp_menu ) |
|---|
| 104 | | { |
|---|
| 105 | | osd_menu_t *p_menu = (osd_menu_t *) *pp_menu; |
|---|
| 106 | | |
|---|
| | 95 | return NULL; |
|---|
| | 96 | } |
|---|
| | 97 | } |
|---|
| | 98 | return p_menu; |
|---|
| | 99 | } |
|---|
| | 100 | |
|---|
| | 101 | static void osd_ParserUnload( vlc_object_t *p_this, osd_menu_t *p_menu ) |
|---|
| | 102 | { |
|---|
| 107 | 103 | if( p_menu->p_parser ) |
|---|
| 108 | 104 | { |
|---|
| … | … | |
| 142 | 138 | |
|---|
| 143 | 139 | /* Parse configuration file */ |
|---|
| 144 | | if( osd_ParserLoad( p_this, psz_file, &p_osd ) ) |
|---|
| | 140 | p_osd = osd_ParserLoad( p_this, psz_file ); |
|---|
| | 141 | if( !p_osd ) |
|---|
| 145 | 142 | goto error; |
|---|
| 146 | 143 | |
|---|