aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extensions/extensions-cli.c12
-rw-r--r--libempathy/empathy-tp-call.c2
-rw-r--r--src/empathy-call-chandler.c2
3 files changed, 11 insertions, 5 deletions
diff --git a/extensions/extensions-cli.c b/extensions/extensions-cli.c
index 98a174478..c75633c33 100644
--- a/extensions/extensions-cli.c
+++ b/extensions/extensions-cli.c
@@ -12,8 +12,14 @@ static void _emp_ext_register_dbus_glib_marshallers (void);
void
emp_cli_init (void)
{
- _emp_ext_register_dbus_glib_marshallers ();
+ static gboolean initilized = FALSE;
- tp_proxy_or_subclass_hook_on_interface_add (TP_TYPE_PROXY,
- emp_cli_misc_add_signals);
+ if (!initialized)
+ {
+ _emp_ext_register_dbus_glib_marshallers ();
+
+ tp_proxy_or_subclass_hook_on_interface_add (TP_TYPE_PROXY,
+ emp_cli_misc_add_signals);
+ initialized = TRUE;
+ }
}
diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c
index 6dd24a51a..c44ffe27e 100644
--- a/libempathy/empathy-tp-call.c
+++ b/libempathy/empathy-tp-call.c
@@ -678,6 +678,8 @@ empathy_tp_call_class_init (EmpathyTpCallClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ emp_cli_init ();
+
object_class->constructor = tp_call_constructor;
object_class->finalize = tp_call_finalize;
object_class->set_property = tp_call_set_property;
diff --git a/src/empathy-call-chandler.c b/src/empathy-call-chandler.c
index 2b359ec24..e1568c18c 100644
--- a/src/empathy-call-chandler.c
+++ b/src/empathy-call-chandler.c
@@ -22,7 +22,6 @@
#include <libmissioncontrol/mission-control.h>
-#include <extensions/extensions.h>
#include <libempathy/empathy-tp-call.h>
#include <libempathy/empathy-chandler.h>
#include <libempathy/empathy-debug.h>
@@ -69,7 +68,6 @@ main (int argc, char *argv[])
EmpathyChandler *chandler;
gtk_init (&argc, &argv);
- emp_cli_init ();
mc = empathy_mission_control_new ();