aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2014-01-16 16:20:35 +0100
committerDan Gudmundsson <[email protected]>2014-01-16 16:20:35 +0100
commit51e369a1b90490e69a358d8c8f0bb9bfbf9f511c (patch)
tree5a0bb953838d777efbd6bb4c0f410c7080367894
parentab86370cba95339703b3043470da3ee6fec9b360 (diff)
downloadotp-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.cpp5
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) {