diff options
Diffstat (limited to 'src/lib/netlist/analog/nld_mosfet.cpp')
-rw-r--r-- | src/lib/netlist/analog/nld_mosfet.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/lib/netlist/analog/nld_mosfet.cpp b/src/lib/netlist/analog/nld_mosfet.cpp index 0bc46adb002..acc7ad8359f 100644 --- a/src/lib/netlist/analog/nld_mosfet.cpp +++ b/src/lib/netlist/analog/nld_mosfet.cpp @@ -333,13 +333,12 @@ namespace analog NETLIB_HANDLERI(termhandler) { - // FIXME: This should never be called - if (!m_SG.P().net().is_rail_net()) - m_SG.P().solve_now(); // Basis - else if (!m_SG.N().net().is_rail_net()) - m_SG.N().solve_now(); // Emitter + // only called if connected to a rail net ==> notify the solver to recalculate + auto *solv(m_SG.solver()); + if (solv != nullptr) + solv->solve_now(); else - m_DG.N().solve_now(); // Collector + m_DG.solver()->solve_now(); } NETLIB_UPDATE_PARAMI(); NETLIB_UPDATE_TERMINALSI(); |