-
- /* trim dead wood from the processor window proxy list */
-
- ProcessorWindowProxies::iterator i = _processor_window_info.begin();
- while (i != _processor_window_info.end()) {
- ProcessorWindowProxies::iterator j = i;
- ++j;
-
- if (!(*i)->valid()) {
-
- WM::Manager::instance().remove (*i);
- delete *i;
- _processor_window_info.erase (i);
-
- } else if (!(*i)->marked) {
-
- /* this processor is no longer part of this processor
- * box.
- *
- * that could be because it was deleted or it could be
- * because the route being displayed in the parent
- * strip changed.
- *
- * The latter only happens with the editor mixer strip.
- */
-
- if (is_editor_mixer_strip()) {
-
- /* editor mixer strip .. DO NOTHING
- *
- * note: the processor window stays visible if
- * it is already visible
- */
- } else {
- (*i)->hide ();
- WM::Manager::instance().remove (*i);
- delete *i;
- _processor_window_info.erase (i);
- }
- }
-
- i = j;
- }
-