diff options
author | Dan Gudmundsson <[email protected]> | 2016-10-14 16:00:40 +0200 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2016-10-17 11:56:49 +0200 |
commit | e92d0d0c4b6991dc751dcc332e11c05d304175b6 (patch) | |
tree | dfc84ed6784211ce212a72d0ce98e6e4515687e5 /lib/wx/api_gen | |
parent | 301675fb9ab76c5003743d1eb0ecd8a265c697f9 (diff) | |
download | otp-e92d0d0c4b6991dc751dcc332e11c05d304175b6.tar.gz otp-e92d0d0c4b6991dc751dcc332e11c05d304175b6.tar.bz2 otp-e92d0d0c4b6991dc751dcc332e11c05d304175b6.zip |
wx: Improve error handling
Fix error handling in gl as in wx.
Diffstat (limited to 'lib/wx/api_gen')
-rw-r--r-- | lib/wx/api_gen/gl_gen_erl.erl | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/wx/api_gen/gl_gen_erl.erl b/lib/wx/api_gen/gl_gen_erl.erl index 1be8d775be..1f9407525d 100644 --- a/lib/wx/api_gen/gl_gen_erl.erl +++ b/lib/wx/api_gen/gl_gen_erl.erl @@ -116,7 +116,7 @@ gl_api(Fs) -> w("call(Op, Args) ->~n", []), w(" Port = get(opengl_port), ~n", []), w(" _ = erlang:port_control(Port,Op,Args),~n", []), - w(" rec().~n", []), + w(" rec(Op).~n", []), w(" ~n", []), w("%% @hidden~n", []), w("cast(Op, Args) ->~n", []), @@ -125,11 +125,15 @@ gl_api(Fs) -> w(" ok.~n", []), w(" ~n", []), w("%% @hidden~n", []), - w("rec() ->~n", []), - w(" receive ~n", []), + w("rec(Op) ->~n", []), + w(" receive~n", []), w(" {'_egl_result_', Res} -> Res;~n", []), - w(" {'_egl_error_', Op, Res} -> error({error,Res,Op})~n", []), - w(" end. ~n", []), + w(" {'_egl_error_', Op, Res} -> error({error,Res,Op});~n", []), + w(" {'_egl_error_', Other, Res} ->~n ", []), + w(" Err = io_lib:format(\"~~p in op: ~~p\", [Res, Other]),~n", []), + w(" error_logger:error_report([{gl, error}, {message, lists:flatten(Err)}]),~n", []), + w(" rec(Op)~n", []), + w(" end.~n", []), w("~n", []), w("%% @hidden~n", []), w("send_bin(Bin) when is_binary(Bin) ->~n", []), |