diff options
author | Siri Hansen <[email protected]> | 2012-02-23 11:26:27 +0100 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2012-03-19 09:48:54 +0100 |
commit | c714eff72c1bd15f8831cffe7256f3dfd8faf806 (patch) | |
tree | 2218d693c81e33b44c986b6464ed58fab61294fa /lib/reltool/src/reltool_sys_win.erl | |
parent | a5240467ac0b5428063360fc4a3d67ab9ffa1413 (diff) | |
download | otp-c714eff72c1bd15f8831cffe7256f3dfd8faf806.tar.gz otp-c714eff72c1bd15f8831cffe7256f3dfd8faf806.tar.bz2 otp-c714eff72c1bd15f8831cffe7256f3dfd8faf806.zip |
[reltool] Fix rollback and undo
OTP-9794
Backup old configuration before starting re-configuration so rollback
is possible if configuration fails.
Store last configuration including derivates so undo does no longer
need to refresh and analyse everything from disk.
Diffstat (limited to 'lib/reltool/src/reltool_sys_win.erl')
-rw-r--r-- | lib/reltool/src/reltool_sys_win.erl | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/lib/reltool/src/reltool_sys_win.erl b/lib/reltool/src/reltool_sys_win.erl index c49641d6a3..1638acb145 100644 --- a/lib/reltool/src/reltool_sys_win.erl +++ b/lib/reltool/src/reltool_sys_win.erl @@ -1290,15 +1290,7 @@ reset_config(#state{status_bar = Bar} = S) -> undo_config(#state{status_bar = Bar} = S) -> wxStatusBar:setStatusText(Bar, "Processing libraries..."), - case reltool_server:undo_config(S#state.server_pid) of - {ok, []} -> - ok; - {ok, Warnings} -> - Msg = lists:flatten([[W, $\n] || W <- Warnings]), - display_message(Msg, ?wxICON_WARNING); - {error, Reason} -> - display_message(Reason, ?wxICON_ERROR) - end, + ok = reltool_server:undo_config(S#state.server_pid), refresh(S). load_config(#state{status_bar = Bar, config_file = OldFile} = S) -> @@ -1452,17 +1444,8 @@ undo_dialog(S, Warnings) -> ?wxID_OK -> true; ?wxID_CANCEL -> - case reltool_server:undo_config(S#state.server_pid) of - {ok, _} -> - false; - {error, Reason} -> - Msg = "FATAL - undo failed:\n\n" ++ - Reason ++ - "\n\nTerminating...", - display_message(Msg, ?wxICON_ERROR), - io:format("~p(~p): <ERROR> ~s\n", [?MODULE, ?LINE, Reason]), - exit(Reason) - end + ok = reltool_server:undo_config(S#state.server_pid), + false end. display_message(Message, Icon) -> |