anchor.diff:      spawn(crashdump_viewer, start, []),
       {noreply, State};
   
  -handle_event(#wx{event = #wxClose{}}, #state{log=LogOn} = State) ->
  -    LogOn andalso rpc:block_call(State#state.node, rb, stop, []),
  -    {stop, normal, State};
  -
  -handle_event(#wx{id = ?wxID_EXIT, event = #wxCommand{type = command_menu_selected}},
  -	     #state{log=LogOn} = State) ->
  -    LogOn andalso rpc:block_call(State#state.node, rb, stop, []),
  -    {stop, normal, State};
  +handle_event(#wx{event = #wxClose{}}, State) ->
  +    stop_servers(State),
  +    {noreply, State};
  +
  +handle_event(#wx{id = ?wxID_EXIT, event = #wxCommand{type = command_menu_selected}}, State) ->
  +    stop_servers(State),
  +    {noreply, State};
   
   handle_event(#wx{id = ?wxID_HELP, event = #wxCommand{type = command_menu_selected}}, State) ->
       External = "http://www.erlang.org/doc/apps/observer/index.html",
  
positive.code:     From ! {observer_debug, wx:get_env(), Notebook, Pid},
      {noreply, State};
  
  handle_info({'EXIT', Pid, _Reason}, State) ->
      io:format("Child (~s) crashed exiting:  ~p ~p~n",
  	      [pid2panel(Pid, State), Pid,_Reason]),
      {stop, normal, State};
  
  handle_info(_Info, State) ->
      {noreply, State}.
  
  terminate(_Reason, #state{frame = Frame}) ->
      wxFrame:destroy(Frame),
      wx:destroy(),
      ok.
  
  code_change(_, _, State) ->
  
negative.code: handle_call(get_tracer, _From, State=#state{trace_panel=TraceP}) ->
      {reply, TraceP, State};
  
  handle_call(stop, From, State) ->
      stop_servers(State),
      {noreply, State#state{reply_to=From}};
  
  handle_call(log_status, _From, State) ->
      {reply, State#state.log, State};
  