- int i_index;
- p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
- if( !p_list ) return o_view;
-
- /*
- * Find the main module
- */
- for( i_index = 0; i_index < p_list->i_count; i_index++ )
- {
- p_parser = (module_t *)p_list->p_values[i_index].p_object;
- if( !strcmp( p_parser->psz_object_name, "main" ) )
- break;
- }
- if( p_parser == NULL )
- {
- msg_Err( p_intf, "could not load preferences" );
- return o_view;
- }
- p_end = p_parser->p_config + p_parser->confsize;
-
- p_item = (p_parser->p_config + i_object_category);
- if( ( p_item->i_type == CONFIG_CATEGORY ) &&
- ( ( p_item->value.i == CAT_PLAYLIST ) ||
- ( p_item->value.i == CAT_AUDIO ) ||
- ( p_item->value.i == CAT_VIDEO ) ||
- ( p_item->value.i == CAT_INTERFACE ) ||
- ( p_item->value.i == CAT_INPUT ) ||
- ( p_item->value.i == CAT_SOUT ) ) )
- p_item++;
-
- do
+ p_main_module = module_GetMainModule( p_intf );
+ assert( p_main_module );
+ module_config_t *p_items;
+
+ unsigned int i, confsize;
+ p_items = module_GetConfig( p_main_module, &confsize );
+
+ /* We need to first, find the right (sub)category,
+ * and then abort when we find a new (sub)category. Part of the Ugliness. */
+ bool in_right_category = false;
+ bool in_subcategory = false;
+ bool done = false;
+ for( i = 0; i < confsize; i++ )