diff options
Diffstat (limited to 'src/emu/render.cpp')
-rw-r--r-- | src/emu/render.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 26b7057ffb3..6b9a1e76f18 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -3366,17 +3366,21 @@ void render_manager::config_save(config_type cfg_type, util::xml::data_node *par } // iterate over targets - for (int targetnum = 0; targetnum < 1000; targetnum++) + for (int targetnum = 0; ; ++targetnum) { // get this target and break when we fail render_target *target = target_by_index(targetnum); - if (target == nullptr) + if (!target) + { break; - - // create a node - util::xml::data_node *const targetnode = parentnode->add_child("target", nullptr); - if (targetnode && !target->config_save(*targetnode)) - targetnode->delete_node(); + } + else if (!target->hidden()) + { + // create a node + util::xml::data_node *const targetnode = parentnode->add_child("target", nullptr); + if (targetnode && !target->config_save(*targetnode)) + targetnode->delete_node(); + } } // iterate over screen containers |