aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/src
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2017-04-07 08:05:39 +0200
committerDan Gudmundsson <[email protected]>2017-04-07 08:05:39 +0200
commit97d1f21f53fabd27e31fe9aa46ffd9f0c00bcbec (patch)
treeb885aaced823796d24525a5eb13e7c98ddd89067 /lib/wx/src
parent356d27670bba7e243ca214839b0787b351593ac6 (diff)
parentb901918e7616dd346bfeb3e3c22be608a27f8da4 (diff)
downloadotp-97d1f21f53fabd27e31fe9aa46ffd9f0c00bcbec.tar.gz
otp-97d1f21f53fabd27e31fe9aa46ffd9f0c00bcbec.tar.bz2
otp-97d1f21f53fabd27e31fe9aa46ffd9f0c00bcbec.zip
Merge branch 'dgud/wx/fix-livelock/OTP-14289'
* dgud/wx/fix-livelock/OTP-14289: Avoid livelock in driver when batching commands
Diffstat (limited to 'lib/wx/src')
-rw-r--r--lib/wx/src/wxe_master.erl10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/wx/src/wxe_master.erl b/lib/wx/src/wxe_master.erl
index e17a3327ac..913bf4d41b 100644
--- a/lib/wx/src/wxe_master.erl
+++ b/lib/wx/src/wxe_master.erl
@@ -82,8 +82,14 @@ init_port(SilentStart) ->
%% Initalizes the opengl library
%%--------------------------------------------------------------------
init_opengl() ->
- GLLib = wxe_util:wxgl_dl(),
- wxe_util:call(?WXE_INIT_OPENGL, <<(list_to_binary(GLLib))/binary, 0:8>>).
+ case get(wx_init_opengl) of
+ true -> {ok, "already initialized"};
+ _ ->
+ GLLib = wxe_util:wxgl_dl(),
+ Res = wxe_util:call(?WXE_INIT_OPENGL, <<(list_to_binary(GLLib))/binary, 0:8>>),
+ element(1, Res) =:= ok andalso put(wx_init_opengl, true),
+ Res
+ end.
%%--------------------------------------------------------------------
%% Fetch early messages, hack to get start up args on mac