If changes are made to the pipeline while the advanced settings widget is open, (via the builder window or even adding a new plot or variable to another cell), the widget gets out of sync and causes a bunch of issues.
There are a few solutions:
Make the advanced setting widget a modal dialog, preventing any other input until it's closed
Automatically close the widget when it loses focus (resets unsaved changes)
Keep track of pipeline version, and restore that version upon regaining focus
comment by @remram44:
Because the code reuses PortsList from VisTrails, actions get actually created before 'apply' or 'ok' is clicked; resetting only means going back to the one that was selected when we brought up the setting dialog (and doing other changes will branch). This means that the concurrent changes that could happen in VisTrails would actually be interleaved with these.
(originally TRAC#14, 2013-02-28)
reported by benbu
comment by @remram44: