diff options
author | Dan Gudmundsson <[email protected]> | 2014-02-14 10:01:05 +0100 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2014-02-14 10:01:05 +0100 |
commit | 9f698ad63586735de169fb514f22eea5164e173b (patch) | |
tree | 019e1297c9a00189999aa0d8437baac4c14e07c5 /lib/observer/src/cdv_term_cb.erl | |
parent | c0667d05f1295930dacc80f82b985183fd800961 (diff) | |
parent | b07eae7aefeff5d42e11c319c660f1f2d2cac5fd (diff) | |
download | otp-9f698ad63586735de169fb514f22eea5164e173b.tar.gz otp-9f698ad63586735de169fb514f22eea5164e173b.tar.bz2 otp-9f698ad63586735de169fb514f22eea5164e173b.zip |
Merge branch 'dgud/observer_fixes'
* dgud/observer_fixes:
observer: catch progressbar errors
observer: Fix observer crash when closing crashdumpviewer
observer: Fix binary links
observer: Fix crash when clicking on pid inside a html-term
Diffstat (limited to 'lib/observer/src/cdv_term_cb.erl')
-rw-r--r-- | lib/observer/src/cdv_term_cb.erl | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/lib/observer/src/cdv_term_cb.erl b/lib/observer/src/cdv_term_cb.erl index 6426cc0803..4451045012 100644 --- a/lib/observer/src/cdv_term_cb.erl +++ b/lib/observer/src/cdv_term_cb.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2013. All Rights Reserved. +%% Copyright Ericsson AB 2013-2014. 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 @@ -21,23 +21,23 @@ detail_pages/0]). %% Callbacks for cdv_detail_wx -get_details({_, {T,Key}}) -> +get_details({Type, {T,Key}}) -> [{Key,Term}] = ets:lookup(T,Key), - {ok,{"Expanded Term", [Term, T], []}}. + {ok,{"Expanded Term", {Type,[Term, T]}, []}}. detail_pages() -> [{"Term", fun init_term_page/2}]. -init_term_page(ParentWin, [Term, Tab]) -> +init_term_page(ParentWin, {Type, [Term, Tab]}) -> Expanded = expand(Term, true), BinSaved = expand(Term, Tab), cdv_multi_wx:start_link( ParentWin, - [{"Format \~p",cdv_html_wx,format_term_fun("~p",BinSaved,Tab)}, - {"Format \~tp",cdv_html_wx,format_term_fun("~tp",BinSaved,Tab)}, - {"Format \~w",cdv_html_wx,format_term_fun("~w",BinSaved,Tab)}, - {"Format \~s",cdv_html_wx,format_term_fun("~s",Expanded,Tab)}, - {"Format \~ts",cdv_html_wx,format_term_fun("~ts",Expanded,Tab)}]). + [{"Format \~p",cdv_html_wx,{Type, format_term_fun("~p",BinSaved,Tab)}}, + {"Format \~tp",cdv_html_wx,{Type,format_term_fun("~tp",BinSaved,Tab)}}, + {"Format \~w",cdv_html_wx,{Type,format_term_fun("~w",BinSaved,Tab)}}, + {"Format \~s",cdv_html_wx,{Type,format_term_fun("~s",Expanded,Tab)}}, + {"Format \~ts",cdv_html_wx,{Type,format_term_fun("~ts",Expanded,Tab)}}]). format_term_fun(Format,Term,Tab) -> fun() -> @@ -56,8 +56,9 @@ expand(['#CDVBin',Offset,Size,Pos], true) -> {ok,Bin} = crashdump_viewer:expand_binary({Offset,Size,Pos}), Bin; expand(Bin, Tab) when is_binary(Bin), not is_boolean(Tab) -> - <<Preview:80, _/binary>> = Bin, Size = byte_size(Bin), + PrevSize = min(Size, 10) * 8, + <<Preview:PrevSize, _/binary>> = Bin, Hash = erlang:phash2(Bin), Key = {Preview, Size, Hash}, ets:insert(Tab, {Key,Bin}), |