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/observer_lib.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/observer_lib.erl')
-rw-r--r-- | lib/observer/src/observer_lib.erl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/observer/src/observer_lib.erl b/lib/observer/src/observer_lib.erl index e0f7bf482b..cedaf7d2b8 100644 --- a/lib/observer/src/observer_lib.erl +++ b/lib/observer/src/observer_lib.erl @@ -699,7 +699,9 @@ progress_handler(Caller,Env,Title,Str) -> register(?progress_handler,self()), wx:set_env(Env), PD = progress_dialog(Env,Title,Str), - progress_loop(Title,PD,Caller). + try progress_loop(Title,PD,Caller) + catch closed -> normal end. + progress_loop(Title,PD,Caller) -> receive {progress,{ok,done}} -> % to make wait_for_progress/0 return @@ -738,8 +740,12 @@ progress_dialog(_Env,Title,Str) -> PD. update_progress(PD,Value) -> - wxProgressDialog:update(PD,Value). + try wxProgressDialog:update(PD,Value) + catch _:_ -> throw(closed) %% Port or window have died + end. update_progress_text(PD,Text) -> - wxProgressDialog:update(PD,0,[{newmsg,Text}]). + try wxProgressDialog:update(PD,0,[{newmsg,Text}]) + catch _:_ -> throw(closed) %% Port or window have died + end. finish_progress(PD) -> wxProgressDialog:destroy(PD). |