summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2011-12-02 08:18:42 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2011-12-02 08:18:42 +0000
commit80acaef2573508a8962d0abd3cd1383b509d5486 (patch)
treeb7df77d77a812d56c242653969fc94f4f38eb1cd
parent332613a611f3a98593c72b0bbcb988ff8f6f59e5 (diff)
Fix handling of shared features in softlists (no whatsnew)
-rw-r--r--src/emu/softlist.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/emu/softlist.c b/src/emu/softlist.c
index 298ab5c2fbf..bd987347059 100644
--- a/src/emu/softlist.c
+++ b/src/emu/softlist.c
@@ -893,14 +893,6 @@ static void end_handler(void *data, const char *name)
case POS_ROOT:
break;
- case POS_SOFT:
- if ( ! strcmp( name, "part" ) && swlist->softinfo )
- {
- /* ROM_END */
- add_rom_entry( swlist, NULL, NULL, 0, 0, ROMENTRYTYPE_END );
- }
- break;
-
case POS_MAIN:
if ( swlist->softinfo )
{
@@ -908,20 +900,27 @@ static void end_handler(void *data, const char *name)
}
break;
- case POS_PART:
- /* Add shared_info inherited from the software_info level, if any */
- if ( swlist->softinfo && swlist->softinfo->shared_info )
+ case POS_SOFT:
+ if ( ! strcmp( name, "part" ) && swlist->softinfo )
{
- feature_list *list = swlist->softinfo->shared_info;
-
- while( list->next )
+ /* ROM_END */
+ add_rom_entry( swlist, NULL, NULL, 0, 0, ROMENTRYTYPE_END );
+ /* Add shared_info inherited from the software_info level, if any */
+ if ( swlist->softinfo && swlist->softinfo->shared_info )
{
- add_feature( swlist, list->next->name, list->next->value );
- list = list->next;
+ feature_list *list = swlist->softinfo->shared_info;
+
+ while( list->next )
+ {
+ add_feature( swlist, list->next->name, list->next->value );
+ list = list->next;
+ }
}
}
break;
+ case POS_PART:
+ break;
case POS_DATA:
break;
}