X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fwxwidgets%2Fmenus.cpp;h=ff0a99c1804131a7c0337f281c2bb3a2c3577aae;hb=415ada5a217873f17211bb7b3d96ce45d6d67263;hp=f7d718516eed1060100b757eb549cd6a90c56697;hpb=d3fe7f28797d4dba65ffcdd60bf932e758a48a9e;p=vlc diff --git a/modules/gui/wxwidgets/menus.cpp b/modules/gui/wxwidgets/menus.cpp index f7d718516e..ff0a99c180 100644 --- a/modules/gui/wxwidgets/menus.cpp +++ b/modules/gui/wxwidgets/menus.cpp @@ -21,7 +21,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include #include #include "wxwidgets.hpp" @@ -202,16 +206,6 @@ int IntfAutoMenuBuilder( intf_thread_t *p_intf, ArrayOfInts &ri_objects, FIND_PARENT ); if( p_object != NULL ) { - if( is_popup ) - { -#ifndef WIN32 - PUSH_VAR( "intf-switch" ); -#endif - } - else - { - PUSH_VAR( "intf-switch" ); - } PUSH_VAR( "intf-add" ); PUSH_VAR( "intf-skins" ); vlc_object_release( p_object ); @@ -235,8 +229,7 @@ int IntfAutoMenuBuilder( intf_thread_t *p_intf, ArrayOfInts &ri_objects, unsigned int i_last_separator = 0; \ ArrayOfInts ai_objects; \ ArrayOfStrings as_varnames; \ - playlist_t *p_playlist = (playlist_t *) vlc_object_find( p_intf, \ - VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\ + playlist_t *p_playlist = pl_Yield( p_intf ); \ if( !p_playlist ) \ return; \ input_thread_t *p_input = p_playlist->p_input @@ -276,7 +269,7 @@ int IntfAutoMenuBuilder( intf_thread_t *p_intf, ArrayOfInts &ri_objects, popupmenu.InsertSeparator( 0 ); \ popupmenu.Insert( 0, Play_Event, wxU(_("Play")) ); \ } \ - if( p_playlist ) vlc_object_release( p_playlist ); \ + if( p_playlist ) pl_Release( p_intf ); \ } \ \ popupmenu.Append( MenuDummy_Event, wxU(_("Miscellaneous")), \ @@ -303,7 +296,7 @@ void VideoPopupMenu( intf_thread_t *p_intf, wxWindow *p_parent, } vlc_object_release( p_input ); } - vlc_object_release( p_playlist ); + pl_Release( p_intf ); CREATE_POPUP; } @@ -325,7 +318,7 @@ void AudioPopupMenu( intf_thread_t *p_intf, wxWindow *p_parent, } vlc_object_release( p_input ); } - vlc_object_release( p_playlist ); + pl_Release( p_intf ); CREATE_POPUP; } @@ -354,7 +347,7 @@ void MiscPopupMenu( intf_thread_t *p_intf, wxWindow *p_parent, p_intf->p_sys->p_popup_menu = &popupmenu; p_parent->PopupMenu( &popupmenu, pos.x, pos.y ); p_intf->p_sys->p_popup_menu = NULL; - vlc_object_release( p_playlist ); + pl_Release( p_intf ); } void PopupMenu( intf_thread_t *p_intf, wxWindow *p_parent, @@ -410,7 +403,7 @@ void PopupMenu( intf_thread_t *p_intf, wxWindow *p_parent, p_intf->p_sys->p_popup_menu = &popupmenu; p_parent->PopupMenu( &popupmenu, pos.x, pos.y ); p_intf->p_sys->p_popup_menu = NULL; - vlc_object_release( p_playlist ); + pl_Release( p_intf ); } /***************************************************************************** @@ -523,7 +516,6 @@ wxMenu *SettingsMenu( intf_thread_t *_p_intf, wxWindow *p_parent, FIND_PARENT ); if( p_object != NULL ) { - PUSH_VAR( "intf-switch" ); PUSH_VAR( "intf-add" ); vlc_object_release( p_object ); } @@ -561,7 +553,7 @@ void Menu::Populate( ArrayOfStrings & ras_varnames, ArrayOfInts & rai_objects ) { vlc_object_t *p_object; - vlc_bool_t b_section_empty = VLC_FALSE; + bool b_section_empty = false; int i; i_item_id = i_start_id; @@ -576,22 +568,21 @@ void Menu::Populate( ArrayOfStrings & ras_varnames, Enable( MenuDummy_Event + i, FALSE ); } AppendSeparator(); - b_section_empty = VLC_TRUE; + b_section_empty = true; continue; } if( rai_objects[i] == 0 ) { Append( MenuDummy_Event, wxU(ras_varnames[i]) ); - b_section_empty = VLC_FALSE; + b_section_empty = false; continue; } - p_object = (vlc_object_t *)vlc_object_get( p_intf, - rai_objects[i] ); + p_object = (vlc_object_t *)vlc_object_get( rai_objects[i] ); if( p_object == NULL ) continue; - b_section_empty = VLC_FALSE; + b_section_empty = false; CreateMenuItem( this, ras_varnames[i], p_object ); vlc_object_release( p_object ); } @@ -648,8 +639,6 @@ static bool IsMenuEmpty( const char *psz_var, vlc_object_t *p_object, if( (i_type & VLC_VAR_TYPE) != VLC_VAR_VARIABLE ) { - /* Very evil hack ! intf-switch can have only one value */ - if( !strcmp( psz_var, "intf-switch" ) ) return FALSE; if( val.i_int == 1 && b_root ) return TRUE; else return FALSE; } @@ -713,7 +702,7 @@ void Menu::CreateMenuItem( wxMenu *menu, const char *psz_var, CreateChoicesMenu( psz_var, p_object, TRUE ), wxT("")/* Nothing for now (maybe use a GETLONGTEXT) */ ); - if( text.psz_string ) free( text.psz_string ); + free( text.psz_string ); return; } @@ -743,7 +732,7 @@ void Menu::CreateMenuItem( wxMenu *menu, const char *psz_var, break; } - if( text.psz_string ) free( text.psz_string ); + free( text.psz_string ); } wxMenu *Menu::CreateChoicesMenu( const char *psz_var, vlc_object_t *p_object, @@ -818,7 +807,7 @@ wxMenu *Menu::CreateChoicesMenu( const char *psz_var, vlc_object_t *p_object, val_list.p_list->p_values[i].psz_string ) ) menu->Check( i_item_id, TRUE ); - if( val.psz_string ) free( val.psz_string ); + free( val.psz_string ); break; case VLC_VAR_INTEGER: @@ -947,9 +936,7 @@ void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event ) if( event.GetId() >= Play_Event && event.GetId() <= Stop_Event ) { input_thread_t *p_input; - playlist_t * p_playlist = - (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, - FIND_ANYWHERE ); + playlist_t * p_playlist = pl_Yield( p_intf ); if( !p_playlist ) return; switch( event.GetId() ) @@ -980,8 +967,7 @@ void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event ) playlist_Next( p_playlist ); break; } - - vlc_object_release( p_playlist ); + pl_Release( p_intf ); return; } @@ -1022,8 +1008,7 @@ void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event ) wxMenuItemExt *p_menuitemext = (wxMenuItemExt *)p_menuitem; vlc_object_t *p_object; - p_object = (vlc_object_t *)vlc_object_get( p_intf, - p_menuitemext->i_object_id ); + p_object = (vlc_object_t *)vlc_object_get( p_menuitemext->i_object_id ); if( p_object == NULL ) return; wxMutexGuiLeave(); // We don't want deadlocks @@ -1054,7 +1039,7 @@ wxMenuItemExt::wxMenuItemExt( wxMenu* parentMenu, int id, const wxString& text, wxMenuItemExt::~wxMenuItemExt() { - if( psz_var ) free( psz_var ); - if( ((i_val_type & VLC_VAR_TYPE) == VLC_VAR_STRING) - && val.psz_string ) free( val.psz_string ); + free( psz_var ); + if( ( i_val_type & VLC_VAR_TYPE ) == VLC_VAR_STRING ) + free( val.psz_string ); };