Commit 4cd2fe1b authored by Clément Stenac's avatar Clément Stenac

Fix a bug with menu items selection

parent ef366726
...@@ -640,7 +640,6 @@ void QVLCMenu::CreateItem( QMenu *menu, const char *psz_var, ...@@ -640,7 +640,6 @@ void QVLCMenu::CreateItem( QMenu *menu, const char *psz_var,
case VLC_VAR_BOOL: case VLC_VAR_BOOL:
var_Get( p_object, psz_var, &val ); var_Get( p_object, psz_var, &val );
val.b_bool = !val.b_bool;
CreateAndConnect( menu, psz_var, TEXT_OR_VAR, "", ITEM_CHECK, CreateAndConnect( menu, psz_var, TEXT_OR_VAR, "", ITEM_CHECK,
p_object->i_object_id, val, i_type, val.b_bool ); p_object->i_object_id, val, i_type, val.b_bool );
break; break;
...@@ -702,7 +701,6 @@ int QVLCMenu::CreateChoicesMenu( QMenu *submenu, const char *psz_var, ...@@ -702,7 +701,6 @@ int QVLCMenu::CreateChoicesMenu( QMenu *submenu, const char *psz_var,
case VLC_VAR_STRING: case VLC_VAR_STRING:
var_Get( p_object, psz_var, &val ); var_Get( p_object, psz_var, &val );
another_val.psz_string = strdup( CURVAL.psz_string ); another_val.psz_string = strdup( CURVAL.psz_string );
menutext = qfu( CURTEXT ? CURTEXT : another_val.psz_string ); menutext = qfu( CURTEXT ? CURTEXT : another_val.psz_string );
CreateAndConnect( submenu, psz_var, menutext, "", NORMAL_OR_RADIO, CreateAndConnect( submenu, psz_var, menutext, "", NORMAL_OR_RADIO,
p_object->i_object_id, another_val, i_type, p_object->i_object_id, another_val, i_type,
...@@ -734,6 +732,7 @@ int QVLCMenu::CreateChoicesMenu( QMenu *submenu, const char *psz_var, ...@@ -734,6 +732,7 @@ int QVLCMenu::CreateChoicesMenu( QMenu *submenu, const char *psz_var,
break; break;
} }
} }
currentGroup = NULL;
/* clean up everything */ /* clean up everything */
var_Change( p_object, psz_var, VLC_VAR_FREELIST, &val_list, &text_list ); var_Change( p_object, psz_var, VLC_VAR_FREELIST, &val_list, &text_list );
...@@ -758,7 +757,6 @@ void QVLCMenu::CreateAndConnect( QMenu *menu, const char *psz_var, ...@@ -758,7 +757,6 @@ void QVLCMenu::CreateAndConnect( QMenu *menu, const char *psz_var,
if( i_item_type == ITEM_CHECK ) if( i_item_type == ITEM_CHECK )
{ {
action->setCheckable( true ); action->setCheckable( true );
currentGroup = NULL;
} }
else if( i_item_type == ITEM_RADIO ) else if( i_item_type == ITEM_RADIO )
{ {
...@@ -767,10 +765,11 @@ void QVLCMenu::CreateAndConnect( QMenu *menu, const char *psz_var, ...@@ -767,10 +765,11 @@ void QVLCMenu::CreateAndConnect( QMenu *menu, const char *psz_var,
currentGroup = new QActionGroup(menu); currentGroup = new QActionGroup(menu);
currentGroup->addAction( action ); currentGroup->addAction( action );
} }
else
currentGroup = NULL;
if( checked ) action->setChecked( true );
if( checked )
{
action->setChecked( true );
}
MenuItemData *itemData = new MenuItemData( i_object_id, i_val_type, MenuItemData *itemData = new MenuItemData( i_object_id, i_val_type,
val, psz_var ); val, psz_var );
connect( action, SIGNAL(triggered()), THEDP->menusMapper, SLOT(map()) ); connect( action, SIGNAL(triggered()), THEDP->menusMapper, SLOT(map()) );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment