diff options
author | Loïc Hoguin <[email protected]> | 2018-01-17 18:11:24 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-01-17 18:12:23 +0100 |
commit | d6de0fce0b46be3b382ba3c30fb7c9559f3fcb8e (patch) | |
tree | 9171aab855f013fd4cabe9e6838e76f92af8c8cf /src/esdl2_callbacks.erl | |
parent | 13d8ea6917d584e44888d5202dd28ac5602b2836 (diff) | |
download | esdl2-d6de0fce0b46be3b382ba3c30fb7c9559f3fcb8e.tar.gz esdl2-d6de0fce0b46be3b382ba3c30fb7c9559f3fcb8e.tar.bz2 esdl2-d6de0fce0b46be3b382ba3c30fb7c9559f3fcb8e.zip |
Add the SDL_SetWindowHitTest callback
Diffstat (limited to 'src/esdl2_callbacks.erl')
-rw-r--r-- | src/esdl2_callbacks.erl | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/esdl2_callbacks.erl b/src/esdl2_callbacks.erl index ccbe858..ecbc4a2 100644 --- a/src/esdl2_callbacks.erl +++ b/src/esdl2_callbacks.erl @@ -51,7 +51,19 @@ handle_info({callback, M, F, A}, State) -> try apply(M, F, A) catch Class:Reason -> - error_logger:error_msg("Exception ~p:~p with callback:~n{~p,~p,~p}~n", [Class, Reason, M, F, A]) + error_logger:error_msg("Exception ~p:~p with callback:~n{~p,~p,~p}~n", + [Class, Reason, M, F, A]) + end, + {noreply, State}; +handle_info({callback, M, F, A, ResF, ResA}, State) -> + try apply(M, F, A) of + Res -> + apply(esdl2, ResF, ResA ++ [Res]) + catch Class:Reason -> + %% We need to inform the NIF that an error occurred. + apply(esdl2, ResF, ResA ++ [error]), + error_logger:error_msg("Exception ~p:~p with callback:~n{~p,~p,~p}~n", + [Class, Reason, M, F, A]) end, {noreply, State}; handle_info(_Info, State) -> |