summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/solver/nld_solver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/solver/nld_solver.cpp')
-rw-r--r--src/lib/netlist/solver/nld_solver.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp
index 920e3a82452..09920dfd73c 100644
--- a/src/lib/netlist/solver/nld_solver.cpp
+++ b/src/lib/netlist/solver/nld_solver.cpp
@@ -27,6 +27,7 @@
#endif
#include "netlist/nl_factory.h"
+#include "netlist/nl_setup.h" // FIXME: only needed for splitter code
#include "nld_matrix_solver.h"
#include "nld_ms_direct.h"
#include "nld_ms_direct1.h"
@@ -264,7 +265,7 @@ namespace devices
return false;
}
- void process_net(analog_net_t &n)
+ void process_net(netlist_state_t &netlist, analog_net_t &n)
{
// ignore empty nets. FIXME: print a warning message
if (n.num_cons() == 0)
@@ -279,9 +280,10 @@ namespace devices
{
auto *pt = static_cast<terminal_t *>(term);
// check the connected terminal
- analog_net_t &connected_net = pt->connected_terminal()->net();
+ // analog_net_t &connected_net = pt->connected_terminal()->net();
+ analog_net_t &connected_net = netlist.setup().get_connected_terminal(*pt)->net();
if (!already_processed(connected_net))
- process_net(connected_net);
+ process_net(netlist, connected_net);
}
}
}
@@ -299,7 +301,7 @@ namespace devices
if (!already_processed(n))
{
groups.emplace_back(analog_net_t::list_t());
- process_net(n);
+ process_net(netlist, n);
}
}
}