[ekiga/gnome-2-26] Add workaround for Busy Here bug
- From: Eugen Dedu <ededu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga/gnome-2-26] Add workaround for Busy Here bug
- Date: Sat, 29 May 2010 11:46:50 +0000 (UTC)
commit 3b636f02e80e82b2422ace1a6a02aa7b15fcd2ef
Author: Eugen Dedu <Eugen Dedu pu-pm univ-fcomte fr>
Date: Sat May 29 13:42:28 2010 +0200
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.
lib/engine/components/opal/opal-call.cpp | 6 ++++++
lib/engine/components/opal/opal-call.h | 1 +
2 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-call.cpp b/lib/engine/components/opal/opal-call.cpp
index 32bb512..6d4c8d0 100644
--- a/lib/engine/components/opal/opal-call.cpp
+++ b/lib/engine/components/opal/opal-call.cpp
@@ -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));
diff --git a/lib/engine/components/opal/opal-call.h b/lib/engine/components/opal/opal-call.h
index 9b92f9f..7491f04 100644
--- a/lib/engine/components/opal/opal-call.h
+++ b/lib/engine/components/opal/opal-call.h
@@ -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;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]