diff options
author | Dan Gudmundsson <[email protected]> | 2014-01-16 16:20:35 +0100 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2014-01-16 16:20:35 +0100 |
commit | 51e369a1b90490e69a358d8c8f0bb9bfbf9f511c (patch) | |
tree | 5a0bb953838d777efbd6bb4c0f410c7080367894 | |
parent | ab86370cba95339703b3043470da3ee6fec9b360 (diff) | |
download | otp-51e369a1b90490e69a358d8c8f0bb9bfbf9f511c.tar.gz otp-51e369a1b90490e69a358d8c8f0bb9bfbf9f511c.tar.bz2 otp-51e369a1b90490e69a358d8c8f0bb9bfbf9f511c.zip |
wx: Fix hanging wx calls
wxWakeUpIdle doesn't always work on wxGTK and the workaround is to
periodically invoke it, so the gui-thread doesn't get stuck in poll.
Previously it was only called when NOT in batch mode, however if the
wxWakeUpIdle call after a batch_begin command did not wake up the
thread it would still get stuck in poll.
-rw-r--r-- | lib/wx/c_src/wxe_impl.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/wx/c_src/wxe_impl.cpp b/lib/wx/c_src/wxe_impl.cpp index 4968075659..cc9bcc9957 100644 --- a/lib/wx/c_src/wxe_impl.cpp +++ b/lib/wx/c_src/wxe_impl.cpp @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2008-2013. All Rights Reserved. + * Copyright Ericsson AB 2008-2014. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -195,9 +195,8 @@ void meta_command(int what, wxe_data *sd) { wxeCommand *Cmd = new wxeCommand(WXE_DEBUG_PING, NULL, 0, sd); wxe_batch->Append(Cmd); erl_drv_cond_signal(wxe_batch_locker_c); - } else { - wxWakeUpIdle(); } + wxWakeUpIdle(); erl_drv_mutex_unlock(wxe_batch_locker_m); } else { if(sd) { |