Commit 3b636f02 authored by Eugen Dedu's avatar Eugen Dedu
Browse files

Add workaround for Busy Here bug

When a call is received while we are in communication, from then on
ekiga will reply Busy Here to all incoming calls.

This commit is just a hack, waiting a proper fix (in opal or ekiga).

This commit also introduces another smaller bug: if you receive a call
while in a call, Ekiga will no longer show Missed call.
parent 7735c2e1
......@@ -387,6 +387,11 @@ Opal::Call::OnCleared ()
NoAnswerTimer.Stop (false);
// hack for busy here bug: if we receive a call while in communication, then wait for 1.5 secs, afterwards return. New smaller bug appears: we are not informed about missed call anymore in this case
for (int i=0 ; i<15 && !call_setup ; i++)
PThread::Current ()->Sleep (100);
if (this != busy_here_hack)
return;
// TODO find a better way than that
while (!call_setup)
PThread::Current ()->Sleep (100);
......@@ -500,6 +505,7 @@ Opal::Call::OnSetUp (OpalConnection & connection)
parse_info (connection);
Ekiga::Runtime::emit_signal_in_main (setup);
busy_here_hack = this;
call_setup = true;
cleared.connect (sigc::mem_fun (this, &Opal::Call::on_cleared_call));
......
......@@ -225,6 +225,7 @@ private:
std::string remote_uri;
std::string remote_application;
void *busy_here_hack; // this variable is a workaround for Busy Here bug
bool call_setup;
bool outgoing;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment