diff --git a/src/emu/netlist/devices/net_lib.c b/src/emu/netlist/devices/net_lib.c index c2dec23e937..e2af4ce8666 100644 --- a/src/emu/netlist/devices/net_lib.c +++ b/src/emu/netlist/devices/net_lib.c @@ -904,6 +904,21 @@ NETLIB_FUNC_VOID(nic9316_sub, update_outputs, (void)) #define ENTRY1(_nic, _name) m_list.add(new net_device_t_factory< _nic >( # _name, xstr(_nic) )); #define ENTRY(_nic, _name) ENTRY1(NETLIB_NAME(_nic), _name) +netlist_factory::netlist_factory() +{ + +} + +netlist_factory::~netlist_factory() +{ + for (list_t::entry_t *e = m_list.first(); e != NULL; e = m_list.next(e)) + { + net_device_t_base_factory *p = e->object(); + delete p; + } + m_list.reset(); +} + void netlist_factory::initialize() { ENTRY(R, NETDEV_R) diff --git a/src/emu/netlist/nl_base.h b/src/emu/netlist/nl_base.h index 9c5b1399a79..d63fdea0f42 100644 --- a/src/emu/netlist/nl_base.h +++ b/src/emu/netlist/nl_base.h @@ -1143,6 +1143,9 @@ class netlist_factory { public: + netlist_factory(); + ~netlist_factory(); + void initialize(); netlist_device_t *new_device_by_classname(const pstring &classname, netlist_setup_t &setup) const;