diff options
author | Siri Hansen <[email protected]> | 2012-02-16 14:21:19 +0100 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2012-03-19 09:48:54 +0100 |
commit | 0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5 (patch) | |
tree | 8fd92d7abf38e6133da1d9312649cf6e67c391a7 | |
parent | 6f5e3e16019a3a4f9e9033d185b9c487967ad5fa (diff) | |
download | otp-0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5.tar.gz otp-0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5.tar.bz2 otp-0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5.zip |
[reltool] Fix badmatch when starting GUI
OTP-9792
Start of reltool GUI sometimes crashes with a badmatch in
reltool_sys_win:do_init/1 because the #sys record fetched with
reltool_server:get_sys/1 differs from the #sys record returned from
reltool_server:start_link/1. This has been
corrected. reltool_server:start_link/1 no longer retuns the #sys
record.
-rw-r--r-- | lib/reltool/src/reltool.erl | 4 | ||||
-rw-r--r-- | lib/reltool/src/reltool_server.erl | 5 | ||||
-rw-r--r-- | lib/reltool/src/reltool_sys_win.erl | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/lib/reltool/src/reltool.erl b/lib/reltool/src/reltool.erl index 54eb1ca9e1..a2b1c9468c 100644 --- a/lib/reltool/src/reltool.erl +++ b/lib/reltool/src/reltool.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2009-2011. All Rights Reserved. +%% Copyright Ericsson AB 2009-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -66,7 +66,7 @@ start_link(Options) when is_list(Options) -> -spec start_server(options()) -> {ok, server_pid()} | {error, reason()}. start_server(Options) -> case reltool_server:start_link(Options) of - {ok, ServerPid, _Common, _Sys} -> + {ok, ServerPid, _Common} -> {ok, ServerPid}; {error, Reason} -> {error, lists:flatten(io_lib:format("~p", [Reason]))} diff --git a/lib/reltool/src/reltool_server.erl b/lib/reltool/src/reltool_server.erl index b6ffb9b134..da15d91581 100644 --- a/lib/reltool/src/reltool_server.erl +++ b/lib/reltool/src/reltool_server.erl @@ -133,11 +133,10 @@ init(Options) -> do_init(Options) -> {S, Status} = parse_options(Options), - #state{parent_pid = ParentPid, common = C, sys = Sys} = S, + #state{parent_pid = ParentPid, common = C} = S, %% process_flag(trap_exit, (S#state.common)#common.trap_exit), - proc_lib:init_ack(ParentPid, - {ok, self(), C, Sys#sys{apps = undefined}}), + proc_lib:init_ack(ParentPid, {ok, self(), C}), {S2, Apps, Status2} = refresh(S, true, Status), Status3 = analyse(S2, Apps, Status2), case Status3 of diff --git a/lib/reltool/src/reltool_sys_win.erl b/lib/reltool/src/reltool_sys_win.erl index f29a95af38..c49641d6a3 100644 --- a/lib/reltool/src/reltool_sys_win.erl +++ b/lib/reltool/src/reltool_sys_win.erl @@ -135,7 +135,7 @@ init(Options) -> do_init([{safe_config, Safe}, {parent, Parent} | Options]) -> case reltool_server:start_link(Options) of - {ok, ServerPid, C, Sys} -> + {ok, ServerPid, C} -> process_flag(trap_exit, C#common.trap_exit), wx:new(), wx:debug(C#common.wx_debug), |