From e92d0d0c4b6991dc751dcc332e11c05d304175b6 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Fri, 14 Oct 2016 16:00:40 +0200 Subject: wx: Improve error handling Fix error handling in gl as in wx. --- lib/wx/src/gen/gl.erl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'lib/wx/src/gen/gl.erl') diff --git a/lib/wx/src/gen/gl.erl b/lib/wx/src/gen/gl.erl index e10b99b10a..3780cca651 100644 --- a/lib/wx/src/gen/gl.erl +++ b/lib/wx/src/gen/gl.erl @@ -283,7 +283,7 @@ call(Op, Args) -> Port = get(opengl_port), _ = erlang:port_control(Port,Op,Args), - rec(). + rec(Op). %% @hidden cast(Op, Args) -> @@ -292,11 +292,15 @@ cast(Op, Args) -> ok. %% @hidden -rec() -> - receive +rec(Op) -> + receive {'_egl_result_', Res} -> Res; - {'_egl_error_', Op, Res} -> error({error,Res,Op}) - end. + {'_egl_error_', Op, Res} -> error({error,Res,Op}); + {'_egl_error_', Other, Res} -> + Err = io_lib:format("~p in op: ~p", [Res, Other]), + error_logger:error_report([{gl, error}, {message, lists:flatten(Err)}]), + rec(Op) + end. %% @hidden send_bin(Bin) when is_binary(Bin) -> -- cgit v1.2.3