During reconfiguration, the configure_view() function reverts the configured zones to the previous view in case if there is an error.
It uses the 'zones_configured' boolean variable to decide whether it is required to revert the zones, i.e. the error happened after all the zones were successfully configured.
The problem is that it does not account for the case when an error happens during the configuration of one of the zones (not the first), in which case there are zones that are already configured for the new view (and they need to be reverted), and there are zones that are not (starting from the failed one).
Since 'zones_configured' remains 'false', the configured zones are not reverted.
Replace the 'zones_configured' variable with a pointer to the latest successfully configured zone configuration element, and when reverting, revert up to and including that zone.
Closes #3911 (closed)