Apparent bug. (Testing with the latest git).
If you edit a network datastream and change its address or port, a new datastream is created with the new parameters but the old one isn't shut down. For example:
* Create an input nmea
datastream (from something you actually have data coming from)
* Create a UDP datastream and click "output on this port"
* Open the NMEA
If all is well you should see the green input data and blue lines showing the data being output over UDP
Now open the connections window again and change the address (and/or port) of the UDP connection and hit apply. There is no mention of the old address (and/or port) now. However, you now see data being sent out to both the old *and* new address (/port). If you now remove this connection entirely, data will continue to be sent to the original address (/port). This is not a problem if you remove then add a connection, only if you edit the address or port of an existing connection.
I think this may be down to the way you test whether something is a new connection or an existing one. Specifically in options.cpp:
DataStream *pds_existing = g_pMUX->FindStream( cp->GetDSPort() );
g_pMUX->StopAndRemoveStream( pds_existing );
GetDSPort returns the tuple proto/address/port which obviously won't exist in the list if you've just changed one of those things, so you never stop and remove the existing datastream.
Of course I could be completely wrong about that because I only bluff C++ and it's all quite a lot of code to take in and TBH I've just latched onto the first thing which seemed obvious :-)